• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Вопрос: перегрузка оператора потокового вывода. С++. ООП.

  • Автор темы TranE91
  • Дата начала
T

TranE91

Кароче, трабла такая, имеется базовый класс, от него два производных, от этих двух имеется еще один производный. для наглядности диаграмма классов.
Трабла нелепа, но и не понятна. При перегрузке оператора вывода(<<) выскакивает "неоднозначный уровень доступа" к данным первого САМОГО базового класса. Как же все-таки толково правильно сделать эту перегрузку не используя воидовский вывод того класса в перегрузке?

C++:
ostream &operator<<(ostream& zout,const saller& KK)
{
zout<<KK.name<<"\t"<<KK.surname<<"\t"<<KK.patronymic<<"\t"<<KK.year<<"\t"<<KK.license_number<<"\t"<<KK.adress<<"\t"<<KK.passport_number<<endl;
for(int i=0;i<20;i++)
zout<<KK.departations[i][0].land<<"\t"<<KK.departations[i][0].year<<"\t"<<KK.departations[i][1].land<<"\t"<<KK.departations[i][1].year<<endl;
zout<<KK.tov<<"\t"<<KK.adress[0];
for(int i=1;i<5;i++)
zout<<KK.adress[i];
return zout;
}
 

Вложения

  • diagramm.jpg
    diagramm.jpg
    154,4 КБ · Просмотры: 546
D

DarkKnight

Выкинь пожалуйста код определения всех классов...
Интерисует только само определение, без функций...
В диаграмме сложно уловить, но думаю проблема у тебя как раз с обозначением видимости (доступности : private, protect, public)...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!