30 / 30 / 20
Регистрация: 28.02.2014
Сообщений: 195
1

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

02.04.2015, 12:21. Показов 1714. Ответов 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]??? если да, то как?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2015, 12:21
Ответы с готовыми решениями:

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать...

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

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

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

1
7167 / 6142 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
02.04.2015, 12:44 2
dynamic_cast используй. Или просто создай функцию аналогичную show(), которая для каждого класса будет свою константу возвращать - 1, 2, 3 или ещё как-то.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2015, 12:44
Помогаю со студенческими работами здесь

Определение расстояния до объекта OpenCV
Добрый день. При выполнении лабораторной работы по физике возникла проблема. Есть установка,...

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru