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

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

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

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Выкинь пожалуйста код определения всех классов...
    Интерисует только само определение, без функций...
    В диаграмме сложно уловить, но думаю проблема у тебя как раз с обозначением видимости (доступности : private, protect, public)...
     
Загрузка...
Похожие Темы - Вопрос перегрузка оператора
  1. Генералл
    Ответов:
    2
    Просмотров:
    61
  2. ApplePen
    Ответов:
    0
    Просмотров:
    63
  3. gURaBA_N
    Ответов:
    3
    Просмотров:
    94
  4. ghost
    Ответов:
    1
    Просмотров:
    89
  5. kartaman
    Ответов:
    0
    Просмотров:
    128

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