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

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

Войти
Регистрация
Восстановить пароль
 
krow7
1 / 1 / 0
Регистрация: 12.11.2009
Сообщений: 99
#1

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

16.10.2012, 20:42. Просмотров 359. Ответов 5
Метки нет (Все метки)

Здравствуйте, форумчане.

Есть класс, который реализует список. Необходимо, чтобы при записи
C++
1
2
List* MyList = new List;
cout << MyList;
выводились элементы списка. Т.е. нужно объект класса привести к строчному типу?
Среда Visual Studio 2011, Проект Win32 Console Application.
Совсем не знаком с потоковым вводом\выводом, подскажите, пожалуйста, куда копать, что почитать.
C++
1
cout << 12;
понятно, что выведет 12. А вот как быть с объектом, не соображу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 20:42     cout и объект класса
Посмотрите здесь:

C++ Не создаётся объект класса
Указатель на объект класса C++
При компиляции объект cout выводит ноль C++
Инкремент и объект "cout" C++
C++ Вывод объекта класса созданного пользователем на консоль объектом cout
Странное поведение cout после объявления объекта класса C++
C++ Ссылка на объект класса
Перезагрузить оператор cout, объекты класса передать через указатель и C++
Нюансы ввода/вывода в Си и C++ (функция printf() и объект std::cout) C++
C++ Глобальный объект класса
Объект класса в C++
как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
5411 / 4807 / 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
6348 / 2995 / 295
Регистрация: 04.12.2011
Сообщений: 8,033
Записей в блоге: 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 и объект класса
Ответ Создать тему
Опции темы

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