167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
1

Перегрузка вывода

20.10.2011, 17:12. Показов 607. Ответов 2
Метки нет (Все метки)

Всем привет!
Возник тут вопрос один,вот делаем мы перегрузку простую какую-нибудь,например для комплексных чисел вычитание
C++
1
2
3
4
5
6
7
8
9
Complex operator - (Complex &c) // перегрузка оператора вычитания
        {
                Complex temp;
 
                temp.re = re - c.re;
                temp.im = im - c.im;
 
                return temp;
        }
Все отлично,теперь хочу сделать перегрузку оператора <<,нашел вот это
C++
1
2
3
4
5
6
7
8
9
ostream &operator<<(ostream &out, const Complex &c)
{
        out << c.re;
        if( c.im > 0 )
                out << "+";
        out << c.im << "i";
 
        return out;
}
Но мне не ясно,зачем амперсант перед ключевым словом operator стоит.
Не могли бы вы мне помочь?
Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2011, 17:12
Ответы с готовыми решениями:

Перегрузка оператора вывода в С++ (для вывода данных вектора)
Как правильно перегрузить оператор вывода для вектора чтобы он выводил все данные из вектора ? Для...

Перегрузка оператора вывода
В чем ошибка, пытаюсь вывести Цену а он мне выводит ошибку в сроке 23: Ошибка C3867 &quot;Cat:: price&quot;:...

Перегрузка оператора вывода
Доброго времени суток. Задача программы: умножение и деление комплексных чисел. Файл number.h...

Перегрузка оператора вывода
Здравствуйте! Подскажите пожалуйста как можно решить проблему с перегрузкой оператора. В моем...

2
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
20.10.2011, 17:18 2
Цитата Сообщение от Rexer Посмотреть сообщение
Но мне не ясно,зачем амперсант перед ключевым словом operator стоит.
Что бы возвращать ссылку на ostream, а не обьект.
Иначе, при каждом, например таком: std::cout << obj, вызове этого оператора будет создаватся и возвращатся копия std::cout
1
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
20.10.2011, 18:20  [ТС] 3
Спасибо вам большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2011, 18:20
Помогаю со студенческими работами здесь

Перегрузка оператора вывода
struct SomeStruct { std::ostream&amp; operator&lt;&lt; (std::ostream&amp; s/*, SomeStruct&amp;*/) { return s &lt;&lt;...

Перегрузка оператора вывода
Доброго времени суток. Столкнулся с проблемой: функция перегрузки вывода возвращает некорректное...

Перегрузка оператора вывода
Всем привет, может быть глупый вопрос, но по Липманну вообще ничего не понятно, хотя книга для...

Перегрузка оператора вывода
Здравствуйте! При вызове перегруженного оператора возникает ошибка. Подскажите, как её исправить....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru