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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
RocBoy-D
32 / 31 / 6
Регистрация: 10.03.2012
Сообщений: 361
19.11.2012, 14:18     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса #1
Здравствуйте! Можно ли использовать перегруженный оператор ввода/вывода в поток из базового класса для объекта производного класса, если производный класс не содержит новых полей?
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 14:18     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Посмотрите здесь:

Вызов оператора приведения базового класса C++
Перегрузка оператора вывода на консоль для шаблонного класса C++
C++ Вызов оператора базового класса
Шаблон класса и перегруженного оператора отказываются дружить C++
Вызов виртуального метода базового класса из указателя производного C++
Вызов методов производного класса из базового C++
Конструкторы базового и производного класса C++
Можно ли из базового класса обратится к виртуальному методу производного? C++
Как узнать тип производного класса в функции базового C++
Наследование: почему вызывается метод базового класса, а не производного? C++
C++ Ошибка при использовании перегруженного оператора вывода в поток: no match for 'operator<<'
C++ Перегрузка оператора ввода для класса с динамическими данными

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2725 / 1736 / 172
Регистрация: 13.01.2012
Сообщений: 6,501
19.11.2012, 15:13     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса #2
...да...
RocBoy-D
32 / 31 / 6
Регистрация: 10.03.2012
Сообщений: 361
19.11.2012, 17:39  [ТС]     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса #3
vxg, запустил в Code Blocks - вроде все работает. Но на всех сайтах пишут, что дружественные функции и методы перегрузки операторов не наследуются
vxg
Модератор
 Аватар для vxg
2725 / 1736 / 172
Регистрация: 13.01.2012
Сообщений: 6,501
19.11.2012, 22:42     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса #4
дружественная функция и не может наследоваться - она же вообще вне класса. про перегрузку не понял - где она у вас? про то что работает - ссылка на производный класс приводится к ссылке на базовый класс и вызывается описанный вами оператор.
Yandex
Объявления
19.11.2012, 22:42     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Ответ Создать тему
Опции темы

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