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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
RocBoy-D
32 / 31 / 7
Регистрация: 10.03.2012
Сообщений: 362
#1

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

19.11.2012, 14:18. Просмотров 1195. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 14:18     Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Посмотрите здесь:

Ошибка при использовании перегруженного оператора вывода в поток: no match for 'operator<<' - C++
Пытаюсь написать класс комплексных чисел, но не могу сделать вот что: #include &lt;iostream&gt; #include &quot;head.h&quot; using namespace std; ...

Конструкторы базового и производного класса - C++
class first { public: first(int a):first(a){} void Setfirst(int a){first=a;} int Getfirst(){return first;} private: ...

Вызов методов производного класса из базового - C++
Возможно ли, чтобы class A { void f1() { f2();//если вызвано из B, то вызывается B::f2(), а не A::f2() } void f2(){} }

Объекты производного класса не наследуют методы базового - C++
Доброго всем дня! Вот такая у меня проблема возникла - объекты производного класса свободно вычитаются, но почему-то не складываются,...

Наследование: почему вызывается метод базового класса, а не производного? - C++
Всем привет, такой вопрос, почему вызывается в данном коде метод базового класса, а не производного (без указания ключевого слова virtual...

Можно ли из базового класса обратится к виртуальному методу производного? - C++
Можно ли из базового класса обратится к виртуальному методу производного? И если да то как (на примере класса A). Polym.cpp #include...

Как узнать тип производного класса в функции базового - C++
Всем привет! Есть иерархия классов: class1 -&gt; class2-&gt;class3 class2-&gt;class4 class2-&gt;class5 Где...

Шаблон класса и перегруженного оператора отказываются дружить - C++
Всем привет! Помогите разобраться с шаблонами, не получается подружить шаблон класса и шаблон перегруженного оператора. Выдает ошибку. ...

Вызов оператора базового класса - C++
Помогите, плиз! нужно в операторе= класса-наследника вызвать оператор= базового класса. Ошибка при вызове деструктора. Как исправить? ...

Вызов оператора приведения базового класса - C++
Добрый день. У меня есть иерархия классов. class A: B { ... operator const char* () const; ...

Перегрузка оператора вывода на консоль для шаблонного класса - C++
Следующий код компилируется, но не линкуется: #include &lt;iostream&gt; using namespace std; template &lt;typename T&gt; class A { ...

Перегрузка оператора ввода для класса с динамическими данными - C++
Доброго времени суток, помогите пожалуйста разобраться с перегрузкой оператора ввода. Есть такой класс class TR { char* nametr; ...


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

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

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