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

Есть ли элемент который возвращает инфу на какой элемент иерархии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как объявить функцию без прототипа http://www.cyberforum.ru/cpp-beginners/thread645480.html
Во всех учебниках пишут, что каждая функция должна иметь прототип. ВОт стало интересно, можно ли объявить функцию, которая не имеет прототип. Если да, то как? Покажите.
C++ Несколько нюансов при использовании <vector> и управляющих инструкций Добрый день. Пытался решить задачу и напоролся на грабли: // вычислим и отобразим сумму каждых смежных элементов в векторе. int sum = 0; vector<int>::size_type last = ivec.size(); last = last - 1; // соответствует нумерации объектов начиная с нуля for(vector<int>::size_type i = 0; i < ivec.size(); ++i) { // if (!(last % 2)) // работает не корректно if (ivec >... http://www.cyberforum.ru/cpp-beginners/thread645476.html
C++ Получить новый массив, в котором сначала идут положительные числа, затем нулевые, затем отрицательные исходного
дан массив X(N). получить новый массив Y(N), такой, что в нем сначала идут положительные числа, затем нулевые, и затем отрицательные из Х. данные: n=7; Х=(-1,2,0,4,-3,-2,0)
Найти в матрице квадратную подматрицу C++
дана матрица а(m,n) из 0 и 1. найти в ней квадратную подматрицу из одних единиц максимального размера.
C++ Проверьте правильность написания кода и коментарии http://www.cyberforum.ru/cpp-beginners/thread645458.html
Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному предложению в строке Желательно подробные комментарии к задаче! Заранее спасибо #include<iostream> #include <fstream> using namespace std; int my_strlen(char *str) { int res=0; while(str)
C++ перебор элементов массива дан массив целых чисел. поменять местами пары элементов в массиве: 1 и2,3 и 4,5 и 6 и т.д. подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.09.2012, 21:02     Есть ли элемент который возвращает инфу на какой элемент иерархии

Не по теме:

Что не пост, то лингвистическая загадка :) (No offense intended.)



Если знаете тип, то dynamic_cast<дочерний класс>, но это очевидно.

Если именно узнать динамический тип, то тут вас спасёт (?) через-жопу-работающая остальная часть RTTI: делаете typeid(дочерний объект), получаете на руки std::type_info. С type_info можно (нормально) делать только две вещи. Сравнивать с другим type_info, но только "равно — не равно", другого нет. И получить его имя в виде ASCIIZ-строки, но что там именно написано, определяется реализацией. Так что полагаться на него нельзя, это максимум чтоб вывести на экран.

В Си++ нет (встроенной) рефлексии. Если хочется — зафичьте отцовскому классу свою виртуальную функцию getType(), которая будет возвращать какой-нибудь enum с тегом типа, переопределите её в дочерних на нужный ChildType_n.

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