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

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

Восстановить пароль Регистрация
Другие темы раздела
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 –1 9 –3. свои наработки потерял, если найду выложу..... http://www.cyberforum.ru/cpp-beginners/thread528768.html
C++ Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.
Напишите программу, которая сравнивает ответ пользователя на вопрос с правильным ответом.
C++ задание со строкой и массивами. C++.
Добрый вечер всем. Помогите пожалуйста! Надо написать программу, которая просит пользователя ввести строку. Прочитать строку и разбить на два массива - один с символами соответствующими цифрам, другой с символами соответствующими буквам. Остальные символы "выбросить". Массив должен быть отсортирован по возрастанию, например (AAaacsstux или 11234489). Перед вставкой в массив, символы, которые...
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, sum=0, b=0; подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
12.11.2012, 12:19     Как узнать, какого типа объект находится по указателю
Тут нужна динамическая идентификация типов что-то такое:
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
42
43
44
45
46
47
48
49
50
51
52
#include <cxxabi.h>
#include <stdio.h>
#include <vector>
using namespace std;
 
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(){}
};
 
int 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());
  }
 
 //собсно идентификация: 
 
 int status;
 char* realname;
 
 realname = abi::__cxa_demangle(typeid(*vec[0]).name(), 0, 0, &status);
 printf (realname);
 getchar ();
 
 realname = abi::__cxa_demangle(typeid(*vec[1]).name(), 0, 0, &status);
 printf (realname);
 getchar ();
 
 realname = abi::__cxa_demangle(typeid(*vec[2]).name(), 0, 0, &status);
 printf (realname);
 getchar ();
 
 
 
}

Дополнительно смотреть:
http://khpi-iip.mipk.kharkiv.edu/lib...dt/glava12.pdf
http://gcc.gnu.org/onlinedocs/libstd...1pt12ch39.html
http://www.cplusplus.com/reference/s...nfo/type_info/
Определить все данные, тип которых вводится из командной строки
Определение введенного типа
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru