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

Перегрузка оператора << - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заменить в строке все вхождения подстроки str1 на подстроку str2 http://www.cyberforum.ru/cpp-beginners/thread266105.html
заменить в строке все вхождения подстроки str1 на подстроку str2
C++ преобразования символов в числа дан текст, имеющий вид: d1+d2+...+dn, где di-цифры. Вычислить записанную в тексте сумму http://www.cyberforum.ru/cpp-beginners/thread266104.html
C++ пользовательские функции, которые вычисляют соответственно минимум и максимум
пользовательские функции, которые вычисляют соответственно минимум и максимум . Вычислите значение выражения:
Переделать шаблон - функций C++
Условие: Подсчитать среднее арифметическое элементов, расположенных выше главной диагонали. Программу я сделал, но препод просит другого. Нужно сделать программу в общем виде, т.е вводить...
C++ Ввод русских букв в консольно программе http://www.cyberforum.ru/cpp-beginners/thread266088.html
Я добавил в программу #include <locale.h> setlocale(LC_ALL,"russian"); Русский язык заработал. Но только при выводе текста. А когда вводишь текст в программу то она не понимает. Например...
C++ В двумерном массиве найти в каждой строке максимальный элемент, затем среди этих чисел выбрать минимальный 1.в двумерном массиве найти в каждой строке максимальный элемент, затем среди этих чисел выбрать минимальный. 2.характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных... подробнее

Показать сообщение отдельно
SandWraith
188 / 188 / 13
Регистрация: 11.04.2009
Сообщений: 497
Завершенные тесты: 2

Перегрузка оператора << - C++

29.03.2011, 11:51. Просмотров 787. Ответов 5
Метки (Все метки)

Здравствуйте!

Подскажите, пожалуйста, как выполнить перегрузку оператора <<?

Для двух классов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
int i;
A(int _i) { i=_i;};
};
 
class B
{
public:
int i;
B(int _i) { i=_i;};
};
Вот такой вариант работает корректно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
A& operator<<(A& a, const B& b) {
    cout << "Operator '<<': a = " << a.i << " b = " << b.i << endl;
        return a;
};
 
int main()
{
 
A _a(0);
B _b(1);
 
A result = _a << _b;
Но мне необходимо обойтись без определения перменных _a и _b, было бы удобнее сразу вызывать конструктор:

C++
1
A result2 = A(3) << B(4);
objects.cpp: In function `int main()':
objects.cpp:148: no match for `A << B' operator
objects.cpp:135: candidates are: A& operator<<(A&, const B&)
Возможно ли привести объект к ссылке?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru