С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

Перегрузка operator+ - C++
Как сложить суму годовы продаж всех компаний? Можно использовать перегрузку оператора +? #include &lt;iostream.h&gt; #include &lt;math.h&gt; ...

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

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

3
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
25.09.2012, 21:39 #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;
}
0
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
26.09.2012, 09:36  [ТС] #3
igorrr37, не КАК перегрузить, а как реализовано то, что можно перегрузить, если в классе ostream нету operator<<(A a)
?
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
26.09.2012, 09:38 #4
Kgfq, если поставить на вывод переменную, вызовется перегруженный << внутри класса.
0
26.09.2012, 09:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 09:38
Привет! Вот еще темы с ответами:

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

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

Перегрузка operator+ - C++
Нужно сложить число с каждым елементом вектора, вот мой код: MyVectorClass.h namespace program { class MyVectorClass { ...

Перегрузка operator[] - C++
Забыл как перегружать оператор для присваивания значений, а найти не могу ._. Чтобы было вот так: Class A { private: char...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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