Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Sanek911
5 / 5 / 1
Регистрация: 04.12.2009
Сообщений: 42

Как узнать, какого типа объект находится по указателю

26.03.2012, 23:31. Просмотров 6777. Ответов 22
Метки (Все метки)

Есть массив указателей базового класса, нужно узнать какие типы этих объектов.
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
class Shape{
public:
  ~Shape(){}
  virtual void Draw() = 0;
};
class Triangle : public Shape{
  virtual void Draw(){}
};
class Circle : public Shape{
  virtual void Draw(){}
};
class Square : public Shape{
  virtual void Draw(){}
};
 
void main()
{
  std::vector<Shape *> vec;
  for(int i = 0; i < 10; i++){
    if ((i % 3) == 0)
      vec.push_back(new Triangle());
    if ((i % 3) == 1)
      vec.push_back(new Circle()); 
    if ((i % 3) == 2)
      vec.push_back(new Square());
  }
//предложите код который поможет узнать типы объектов в векторе
}


Вернуться к обсуждению:
Как узнать, какого типа объект находится по указателю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 23:31
Готовые ответы и решения:

Как удалить объект по указателю на базовый класс?
Допустим есть несколько классов: // абстрактный класс - введен для...

[Нужна критика] Как правильно копировать объект-потомок по ссылке\указателю на родителя? + Пара мелких уточнений
Захотелось провести эксперимент и создать функцию для работы с обёрткой массива...

вызов конструктора, по указателю на объект
class qwe { public: qwe() {} qwe(char * name, int a, int...

Узнать значение по указателю
Пишу плагин для gta 3. В Cheat Engine я нашел нужный адрес, но он оказался...

Как узнать, находится ли std::cout в hex-режиме?
Как узнать, находится ли std::cout в hex-режиме?

22
Другие темы раздела
C++ Нужна помощь , помогите переделать несложную программу с C# на C++ http://www.cyberforum.ru/cpp-beginners/thread528775.html
Нужна помощь , помогите переделать несложную программу с C# на C++ using System; namespace ConsoleApplication1 { class Program {
C++ шаблонная функция Создать шаблонную функцию, изменяющую попарно элементы массива следующим образом: первый элемент будет равняться сумме пары, а второй разности пары. На пример: список - 0 2 3 4 3 6, результат 2 –2 7... http://www.cyberforum.ru/cpp-beginners/thread528768.html
C++ Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.
Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.
C++ задание со строкой и массивами. C++.
Добрый вечер всем. Помогите пожалуйста! Надо написать программу, которая просит пользователя ввести строку. Прочитать строку и разбить на два массива - один с символами соответствующими цифрам,...
C++ С++ - с какой книги начать и в каком ide прорабатывать примеры http://www.cyberforum.ru/cpp-beginners/thread528757.html
Решил я заняться изучением С++, на начальном этапе всегда нужна помощь от опытных людей. На данный момент у меня стоят IDE С++ Builder 6 и XE, а также Visual c++ 2010 Express. Скачал несколько...
C++ добавить в программу использование функций #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; const int ss=80; int main() { setlocale (LC_ALL, "Russian"); int n, i, j=-1, q=0, d=0, a,... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru