Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Fantom2209
29 / 29 / 20
Регистрация: 28.02.2014
Сообщений: 190
Завершенные тесты: 1
#1

Определение типа объекта - C++

02.04.2015, 12:21. Просмотров 328. Ответов 1
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста.

Есть абстрактный класс и 3 потомка.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Transport
{
    private:
        string name;
        int maxSpeed;
        int yearOfManufacture;
    public:
        Transport(string name, int maxSpeed, int yearOfManufacture);
 
        void showSpeed();
 
        int getSpeed();
        int getYear();
 
        virtual void show() = 0;
};
 
class Plane : public Transport
{
    public:
        Plane(string name, int maxSpeed, int yearOfManufacture);
 
        void show();
};
 
class Ship : public Transport
{
    public:
        Ship(string name, int maxSpeed, int yearOfManufacture);
 
        void show();
        
};
 
class Train : public Transport
{
    public:
        Train(string name, int maxSpeed, int yearOfManufacture);
    
        virtual void show();
};
есть массив в котором хранятся ссылки на объекты классов потомков.

C++
1
2
const int count = 4;
Transport* transport[count];
к примеру:

transport[0] = самолет;
transport[1] = корабль;
transport[2] = поезд;
transport[3] = поезд;

есть возможность узнать объект какого типа хранится по ссылке transport[2]??? если да, то как?
http://www.cyberforum.ru/cpp-beginners/thread1692105.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2015, 12:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определение типа объекта (C++):

Можно ли присвоить объекту основного типа значение объекта пользовательского типа?
Правильно ли я понимаю, что SomeClass obj; int x = obj; или ...

Cout like: перегрузить оператор<< по примеру объекта cout для extern объекта пользовательского типа
Мне нужен extern объект по примеру cout с перегруженным оператором. Я нечто...

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите...

Определение объекта, который вызвает конструктор.
Привет! Подскажите пожалуйста, как определить, какой из объектов в программе...

Определение принадлежности объекта нужному классу
В общем, тема проста. Есть два виртуальных метода: classname() и IsA(string...

1
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,338
02.04.2015, 12:44 #2
dynamic_cast используй. Или просто создай функцию аналогичную show(), которая для каждого класса будет свою константу возвращать - 1, 2, 3 или ещё как-то.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2015, 12:44
Привет! Вот еще темы с решениями:

Определение типа!
У меня такой вопрос. Как можно узнать какой тип вводится? Например так: int...

Определение существования компонента у игрового объекта на стадии компиляции
Доброго времени суток, Господа. Возник интерес в мощности метапрограммировании...

Определение типа - наследника
Здравствуйте! Проблема в следующем: контейнер хранить любого наследника...

Определение типа переменной
#include &lt;iostream&gt; #include &lt;typeinfo&gt; int main() { int t = 10;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru