Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
1

Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса

19.11.2012, 14:18. Показов 3201. Ответов 3
Метки нет (Все метки)

Здравствуйте! Можно ли использовать перегруженный оператор ввода/вывода в поток из базового класса для объекта производного класса, если производный класс не содержит новых полей?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A {
     protected:
         int x;
     public:
        // Конструкторы и деструктор
        friend istream &operator >> (istream &, A &);
};
 
class B: public A {
      public:
         // Конструкторы и деструктор
};
 
int main ()
{
      B exemple ();
      
      cin >> exemple;   // Возможно ли такое?
 
      return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2012, 14:18
Ответы с готовыми решениями:

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int; *j = x; }...

Перегрузка оператора >> для дочернего класса от базового виртуального класса
Доброго вам времени суток! Программирую на С++ не давно, в связи с отсутствием должного времени на...

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp,...

3
Модератор
3331 / 2115 / 343
Регистрация: 13.01.2012
Сообщений: 8,234
19.11.2012, 15:13 2
...да...
0
41 / 40 / 23
Регистрация: 10.03.2012
Сообщений: 374
19.11.2012, 17:39  [ТС] 3
vxg, запустил в Code Blocks - вроде все работает. Но на всех сайтах пишут, что дружественные функции и методы перегрузки операторов не наследуются
0
Модератор
3331 / 2115 / 343
Регистрация: 13.01.2012
Сообщений: 8,234
19.11.2012, 22:42 4
дружественная функция и не может наследоваться - она же вообще вне класса. про перегрузку не понял - где она у вас? про то что работает - ссылка на производный класс приводится к ссылке на базовый класс и вызывается описанный вами оператор.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2012, 22:42

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Почему объект производного класса не видит префиксный оператор из базового класса?
Короче создал я базовый класс с перегруженным префиксным оператором ++. Потом чтоб его...

Возможно ли указатель производного класса инициализировать объектом базового класса?
имеется связка наследуемых классов A->B а от B наследуются одновременно еще два класса B->C и B->D...

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний...

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса -...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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