Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
#1

перегрузка cout, operator<< - C++

25.09.2012, 20:36. Просмотров 603. Ответов 3
Метки нет (Все метки)

Как реализовано, что можно перегрузить operator<< в потоке вывода, если нету объявления нужной функции внутри класса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 20:36     перегрузка cout, operator<<
Посмотрите здесь:

Перегрузка cout - C++
Всем привет ! Есть клас class person { private: string name; string surname; unsigned int age;

Перегрузка operator<() - C++
#include &lt;QCoreApplication&gt; #include &lt;QDebug&gt; #include &lt;QVector&gt; class My { public: int a; void operator=(const...

Перегрузка operator<< - C++
Доброе время суток. Есть очередная задачка - перегрузить оператор вывода таким образом: Есть три объекта разных классов - А а, В...

Перегрузка operator= - C++
const Point&amp; operator= (const Point &amp;p) { if (this ==&amp;p) return *this; x = p.x; y = p.y; color = p.color; ...

Перегрузка operator= - C++
Возможно ли перегрузить оператор= так, что бы можно было написать? val = {10, 20, 15};

Перегрузка operator[][][] - C++
Здорова господа!!! Как перегрузить operator для класса или operator ??? Что нужно из него возвращать? От что то пытался но не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
25.09.2012, 21:39     перегрузка cout, operator<< #2
перегрузить глобальный operator<<
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <vector>
 
class A
{
public:
    A(int _a, int _b) : a(_a), b(_b){}
    A(A const& o) : a(o.a), b(o.b)
    {
        std::cout << "cCtor" << std::endl;
    }
    A(A const volatile& o) : a(o.a), b(o.b)
    {
        std::cout << "vcCtor" << std::endl;
    }
    int a;
    int b;
};
 
std::ostream& operator<<(std::ostream& os, A const& o)
{
    return os << o.a << "  " << o.b;
}
 
int main()
{
    A a(1, 32);
    std::cout << a << std::endl;
    return 0;
}
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
26.09.2012, 09:36  [ТС]     перегрузка cout, operator<< #3
igorrr37, не КАК перегрузить, а как реализовано то, что можно перегрузить, если в классе ostream нету operator<<(A a)
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 09:38     перегрузка cout, operator<<
Еще ссылки по теме:

Перегрузка operator[]= - C++
Привет народ, вопрос такой - что и как нужно перегрузить в классе, чтобы работал синтаксис вида class ADE {..}; ADE a; ... a |=...

Перегрузка operator->() - C++
Всем привет! Прохожу тему дескрипторов и меня удивляет как работает перегруженный operator-&gt;(). //какой то интерфейс struct...

Перегрузка operator+ - C++
при сложени myVector2 = myVector0 + myVector1; выодит сообщения &quot;конструктоор 0&quot; ...1,...2,....2(копирования) а потом деструктор 2,2,1,2...

Перегрузка operator new - C++
Столькнулся с такой проблемой: Есть класс Array, в его конструкторе создается массив int Array::Array(const size_t...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dani
1300 / 637 / 56
Регистрация: 11.08.2011
Сообщений: 2,280
Записей в блоге: 2
Завершенные тесты: 1
26.09.2012, 09:38     перегрузка cout, operator<< #4
Kgfq, если поставить на вывод переменную, вызовется перегруженный << внутри класса.
Yandex
Объявления
26.09.2012, 09:38     перегрузка cout, operator<<
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru