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

cout и объект класса - C++

Восстановить пароль Регистрация
 
krow7
1 / 1 / 0
Регистрация: 12.11.2009
Сообщений: 99
16.10.2012, 20:42     cout и объект класса #1
Здравствуйте, форумчане.

Есть класс, который реализует список. Необходимо, чтобы при записи
C++
1
2
List* MyList = new List;
cout << MyList;
выводились элементы списка. Т.е. нужно объект класса привести к строчному типу?
Среда Visual Studio 2011, Проект Win32 Console Application.
Совсем не знаком с потоковым вводом\выводом, подскажите, пожалуйста, куда копать, что почитать.
C++
1
cout << 12;
понятно, что выведет 12. А вот как быть с объектом, не соображу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
16.10.2012, 20:51     cout и объект класса #2
вам нужно перегрузить оператор <<.
прототип перегруженного оператора примерно так:
C++
1
friend ostream& operator<<(ostream& out, const List& t);
определяете в этой функции что вам нужно
Почитайте про перегрузку операторов в любом учебнике.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.10.2012, 20:53     cout и объект класса #3
В классе List нужно перегрузить оператор << (пример в предыдущем посте). В реализации просто переписываете вывод списка (наверное, есть), заменив cout на out.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
16.10.2012, 20:56     cout и объект класса #4
нужно переопределить оператор << и в теле оператора расписать как и что должно выводится. Но это будет выводится только для объектов класса List
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,722
Записей в блоге: 3
16.10.2012, 20:58     cout и объект класса #5
Цитата Сообщение от krow7 Посмотреть сообщение
Есть класс, который реализует список. Необходимо, чтобы при записи
C++
1
2
List* MyList = new List;
cout << MyList;
выводились элементы списка. Т.е. нужно объект класса привести к строчному типу?
Среда Visual Studio 2011, Проект Win32 Console Application.
C++
1
cout << 12;
понятно, что выведет 12. А вот как быть с объектом, не соображу
krow7, привести объект к строчному типу можно. Но тогда самому нужно будет определить, что это значит. Пишите метод string ToStr() или как то еще и сделайте так чтобы он возвращал то из объекта, что Вам нужно в виде строки.
Можно написать метод void Show() который обернет cout'ы выводящие необходимые поля.
И наконец можно перегрузить оператор << , тогда можно использовать объект c потоками и cout, в частности.
krow7
1 / 1 / 0
Регистрация: 12.11.2009
Сообщений: 99
16.10.2012, 22:36  [ТС]     cout и объект класса #6
Всем спасибо за бурную реакцию и подробные оперативные ответы. Разобрался. Вы кул ребята
Yandex
Объявления
16.10.2012, 22:36     cout и объект класса
Ответ Создать тему
Опции темы

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