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

Тема в разделе "C/C++/C#", создана пользователем TranE91, 10 ноя 2010.

Наш партнер Genesis Hackspace
  1. TranE91

    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
      Размер файла:
      294,7 КБ
      Просмотров:
      33
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

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

Поделиться этой страницей