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

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

Войти
Регистрация
Восстановить пароль
 
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
#1

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

20.10.2011, 17:12. Просмотров 458. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2011, 17:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка вывода (C++):

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

Перегрузка оператора вывода - C++
Здравствуйте. Помогите пожалуйста понять, что нужно передать в качестве параметра при перегрузке оператора вывода? Мне нужно удалить...

Перегрузка оператора вывода - C++
Я сотворил одну программку, при выводе первый элемент массива не правильный. Уже перегрузил оператор вывода, но не понимаю что не так....

Перегрузка оператора вывода - C++
Доброго времени суток. Задача программы: умножение и деление комплексных чисел. Файл number.h #pragma once class number { ...

Перегрузка оператора вывода - C++
Допустим я перегружаю оператор вывода: std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os,Drobi const &amp;d) { ...

Перегрузка оператора вывода - C++
Здравствуйте! При вызове перегруженного оператора возникает ошибка. Подскажите, как её исправить. #include &quot;stdafx.h&quot; #include...

2
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
20.10.2011, 17:18 #2
Цитата Сообщение от Rexer Посмотреть сообщение
Но мне не ясно,зачем амперсант перед ключевым словом operator стоит.
Что бы возвращать ссылку на ostream, а не обьект.
Иначе, при каждом, например таком: std::cout << obj, вызове этого оператора будет создаватся и возвращатся копия std::cout
1
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
20.10.2011, 18:20  [ТС] #3
Спасибо вам большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 18:20
Привет! Вот еще темы с ответами:

Перегрузка оператора вывода - C++
Ребят, привет! Проблемная часть - operator &lt;&lt; если комментировать его вызов в main - сборка осуществляется, иначе - нет. ...

Не работает перегрузка вывода - C++
Не могу перегрузить &lt;&lt;. Как только не пробовал, через дружественную функцию тоже не получается. Здесь выдает несовпадение типов, почему?...

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

Перегрузка оператора вывода - C++
Здравствуйте. Я пишу учебную программу реализующая арифметику обыкновенных дробей. И в данный момент перезагружаю оператор вывода. ...


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

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

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