Перегрузка оператора <<
Код:
ostream& operator <<(ostream& ostream, const MyClass& temp);
однако MVS C++ на мою попытку так перегрузить оператор заявила что оператор имеет слишком много аргументов! Как в таком случае правильно перегружать этот оператор и что бы работали конструкции типа?
Код:
cout << temp<< temp1<<.....<<endl;
Для потоковв ввода/вывода надо перегружать глобальный оператор, а не член класса.
Код:
friend ostream& operator <<(ostream& ostream, const MyClass& temp);
И вот я все ни как не пойму где я ошибся... Вроде все правильно, в примере к книге так, по логике тоже, а не работает...=(
Цитата: Artem_3A
у Савича написано, что перегрузить как член класса не возможно,
Либо ты неверно что-то прочитал, либо можешь выкинуть эту книгу.
Цитата: Artem_3A
можно перегрузить как глобальный оператор или как дружественную функцию(оператор, не знаю как правильно выразиться) путем
Код:
friend ostream& operator <<(ostream& ostream, const MyClass& temp);
Это одно и тоже.
Цитата: Artem_3A
И вот я все ни как не пойму где я ошибся... Вроде все правильно, в примере к книге так, по логике тоже, а не работает...=(
Телепаты и ясновидцы по прежнему в отпуске....