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

Оператор вывода для иерархии - C++

Восстановить пароль Регистрация
 
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
16.11.2012, 00:26     Оператор вывода для иерархии #1
Добрый вечер всем,

Имеется класс Person, от него отнаследован класс Student.
Есть 2 оператора чтения из потока

C++
1
2
std::istream& operator>> (std::istream&, Person&);
std::istream& operator>> (std::istream&, Student&);
Создается объект
C++
1
Student s;
Неожиданным для меня оказалось, что следующий код:
C++
1
std::cin >> s;
Вызывает первый оператор. Как решить такую проблему?

Добавлено через 17 минут
upupup
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 00:26     Оператор вывода для иерархии
Посмотрите здесь:

Шаблон и оператор вывода! C++
шаблоны и оператор вывода C++
C++ Перегруженный оператор вывода
C++ Перегруженный оператор вывода
C++ Оператор вывода в производном классе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
16.11.2012, 00:42     Оператор вывода для иерархии #2
мм, у меня все как и ожидалось(gcc 4.6.3)
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
16.11.2012, 00:44     Оператор вывода для иерархии #3
sandye51, вы точно именно ТАК создаете объект? может все-таки через new?
и можно ваш пример, воспроизводящий дефект?
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
16.11.2012, 00:45     Оператор вывода для иерархии #4
и тут вроде тоже
Yandex
Объявления
16.11.2012, 00:45     Оператор вывода для иерархии
Ответ Создать тему
Опции темы

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