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

Вывести обьект из контруктора - C++

Восстановить пароль Регистрация
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.11.2013, 17:46     Вывести обьект из контруктора #1
Описание

"В языке C++ оператор typeid возвращает ссылку на объект type_info, описывающий тип объекта, к которому принадлежит оператор typeid. общая форма записи оператора typeid такова.
typeid(объект)"

Пишу примерно так
C++
1
2
3
4
5
6
Counter::Counter():
  itsVal(0)
  {  
      return typeid(*this);
                                   }
      cout << "Counter::Counter() " <<  endl; }
Ругается потом примерно так

cpp(99): error C2297: <<: недопустимо, правый оператор имеет тип "const char [21]"
1>d:\проги\vozvraschenie bezyimyannyih vremennyih ob'ektov\vozvraschenie bezyimyannyih vremennyih ob'ektov\vozvraschenie.cpp(99): error C2563: несоответствие в списке формальных параметров
1>d:\проги\vozvraschenie bezyimyannyih vremennyih ob'ektov\vozvraschenie bezyimyannyih vremennyih ob'ektov\vozvraschenie.cpp(99): error C2568: <<: не удается разрешить перегрузку функции
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 17:46     Вывести обьект из контруктора
Посмотрите здесь:

Вызывается деструктор когда обьект не уничтожен! C++
Класс, обьект, имя, enum.. C++
C++ Не обьявляется обьект класса TPrinter в BCB 5.0 ?
C++ Абстрактные классы. Обьект в строку
C++ Некоректно работает метод записи информации в обьект
Как вывести обьект с cout ? C++
Создать функцию вывода, в которую можно передать обьект, и вывести имя обьекта и все его поля C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12278 / 6965 / 783
Регистрация: 27.09.2012
Сообщений: 17,272
Записей в блоге: 2
Завершенные тесты: 1
24.11.2013, 17:54     Вывести обьект из контруктора #2
C++
1
2
3
4
5
6
Counter::Counter():
  itsVal(0)
  {  //Открыли
      return typeid(*this);
                                   }//Закрыли
      cout << "Counter::Counter() " <<  endl; }//А эта строчка вообще черт пойми где
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
24.11.2013, 17:58     Вывести обьект из контруктора #3
А разве конструктор способен что-то возвращать?
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.11.2013, 18:12  [ТС]     Вывести обьект из контруктора #4
Спасибо!!!

Добавлено через 5 минут
C++
1
2
3
4
5
6
Counter::Counter():
  itsVal(0)
  {  
      
                                  
      cout << "Counter::Counter() " <<   typeid(*this) << endl; }
cpp(43): error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "const type_info" (или приемлемое преобразование отсутствует)
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
24.11.2013, 18:21     Вывести обьект из контруктора #5
C++
1
typeid(*this).name()
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.11.2013, 18:41  [ТС]     Вывести обьект из контруктора #6
Спасибо!!!! Пишет class Counter !!

Добавлено через 5 минут
Что это за name() такое?? Ничего не пойму!
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
24.11.2013, 18:42     Вывести обьект из контруктора #7
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Что это за name() такое??
http://www.cplusplus.com/reference/t...ype_info/name/
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
24.11.2013, 18:57  [ТС]     Вывести обьект из контруктора #8
С трудом прочитал, что-то возвращает... Где-то чуть понятно. Ну, хорошо.

Да, слова вроде все понятны.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
24.11.2013, 19:00     Вывести обьект из контруктора #9
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
С трудом прочитал
Если с английский проблемы, всегда есть гугл.транслейт. Ну или задавайте более четкие вопросы. Потому что переводить весь мануал вряд ли кто-то будет
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
27.11.2013, 16:09  [ТС]     Вывести обьект из контруктора #10
А можно не класс, а обьект?

Вот допустим я прописываю в майне обьекты

Klass1 murtsik;
Klass1 barsik;

можно ли из конструктора вывести имя обьекта?

Или вот у меня есть какие-то this, тоже можно ли оприделить имена обьектов, на которые эти this указывают?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2013, 16:15     Вывести обьект из контруктора
Еще ссылки по теме:

C++ Обьект в динамике
Static обьект, в каких случаях применяется? C++
Обьект в try C++
C++ Невидимый обьект
C++ Передача ссылки на обьект класса в функцию

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.11.2013, 16:15     Вывести обьект из контруктора #11
Dimka-novitsek, В С++ нет интроспекции/рефлексии. Поэтому в рантайме вы не определите ничего, если не задавали это заранее.
Yandex
Объявления
27.11.2013, 16:15     Вывести обьект из контруктора
Ответ Создать тему
Опции темы

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