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

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

Войти
Регистрация
Восстановить пароль
 
RESTY
5 / 5 / 0
Регистрация: 30.05.2012
Сообщений: 89
#1

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

04.07.2013, 23:13. Просмотров 930. Ответов 2
Метки нет (Все метки)

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

вот "куски кода".

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private :
    int real;
    int image;
....
public :
....
friend std::istream &operator >>(std::istream stream, Complex &c);
friend std::ostream &operator <<(std::ostream stream, const Complex &c);
.....
std::istream& operator >> (std::istream &stream, Complex &c)
{
    stream >> c.real;
    stream >> c.image;
    return stream;
}
 
std::ostream& operator << (std::ostream &stream, const Complex &c)
{
    stream << c.real << " +i("<<c.image<<")";
    return stream;
}
при компиляции выдает ошибку, нет доступа к закрытым полям класса, что то в этом роде.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2013, 23:13     Перегрузка оператора ввода ,вывода
Посмотрите здесь:

Перегрузка оператора ввода вывода - C++
Есть два хэдера(header.h и Array.h) и исполняемая программа main.cpp в которой я как раз и обращаюсь к оператору ввода Array.h ...

В чем ошибка? Перегрузка оператора ввода\вывода - C++
Доброго времени суток. Где я допустил ошибку? Перегрузка оператора как-будто игнорируется. Выводит просто &quot;test&quot;, а я ожидаю &quot;: test&quot;. ...

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

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

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

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

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

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

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

Перегрузка оператора вывода - C++
Здравствуйте. Не могу понять в чем ошибка. При выводе пишет: warning C4717: operator&lt;&lt;: рекурсия на всех путях выполнения, функция вызовет...

Перегрузка оператора вывода - C++
Пытаюсь написать программку, но возникла ошибка с выводом информации на экран. Вот мой код: int MAX_ARRAY_SIZE = 2147483647; ...

Перегрузка оператора вывода - C++
Здравствуйте! Подскажите пожалуйста как можно решить проблему с перегрузкой оператора. В моем коде выдает ошибку: error C2440: '=' :...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2013, 23:55     Перегрузка оператора ввода ,вывода #2
В прототипах и реализациях параметры разные :
C++
1
2
friend std::istream &operator >>(std::istream &stream, Complex &c);
friend std::ostream &operator <<(std::ostream &stream, const Complex &c);
RESTY
5 / 5 / 0
Регистрация: 30.05.2012
Сообщений: 89
05.07.2013, 00:32  [ТС]     Перегрузка оператора ввода ,вывода #3
блин вот как так то) я уже все перепроверил думаю в чем же ошибка, ошибки вроде как и нет, собственная невнимательность.Спасибо, вопрос снят.
Ответ Создать тему
Опции темы

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