| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Опрос имени класса у обьекта ... |
| Автор: sergejzr 18.3.2004, 00:17 | ||
Как реализовать возможность опроса имени класса у обьекта в С++?
Спасибо! Добавлено @ 00:25
Я имел в виду конечно gcc/MSVC |
| Автор: Coocky 18.3.2004, 00:26 | ||||
Я че-то не понял
это вопросы или задачи? Я никогда не слышал,что б обьект предналежал нескольким классам
Если ошибаюсь,буду учить Турбо Паскаль |
| Автор: sergejzr 18.3.2004, 00:45 | ||||||||
To Coocky
скорее соображения. По пунктам: 1:
если возможно заставить компилер генерить мембера, то вопрос исчерпан. 2:
Сознаюсь, пункт излишен, если разберёмся с пунктом 1. (Имелось в виду, что "дети" унаследуют возможность родителя) 3:
это условие |
| Автор: srd 18.3.2004, 01:38 |
| Читай доки по следующим понятиям: typeid, dynamic_cast, type_info. Всё уже придуманно и велосипед изобретать не надо |
| Автор: sergejzr 18.3.2004, 02:21 | ||
| Дорогой srd, сердечное спасибо! Кому надо вот пример. проверен на WIN, SUN, AIX
PS:Вообще то я ничего изобретать не собирался.. Просто подозревал, что истина где то рядом |
| Автор: OlegsDP 18.3.2004, 14:37 | ||||
К сожалению, не все так радужно:
распечатывает:
Таким образом, наследовать класс, умеющий возвратить свое имя, бесполезно, т.к. он всегда будет возвращать СВОЕ имя, а не класса, его наследующего. Это потому, что typeid - это не функция, а всего-навсего директива компилятора, такая же как sizeof. |
| Автор: sergejzr 18.3.2004, 15:35 | ||
To OlegsDP
Это ясно, но мне хватит и этого. Главное, что понятно, где копать Спасибо за заметку. |
| Автор: FreshMeat 18.3.2004, 19:41 | ||
Что такое директива компилятора? typeid и sizeof - это ключевые слова. см. 2.11/1 |