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

Узнать тип для new в runtim'e - C++

Восстановить пароль Регистрация
 
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
27.04.2014, 19:10     Узнать тип для new в runtim'e #1
можно ли создать динамически с помощью new(или как-то иначе) объект типа, такого же, как тип другого объекта(указателя)?
причем тип этого "образцового" объекта(указателя) сам становится известен только в runtim'e. что-то типа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Base{};
class Derived1:public Base{};
class Derived2:public Base{};
 
int type;
type<<cin;
 
Base* p;
 
switch (type)
{
case 1:p=new Derived1;break;
case 2:p=new derived2;
Base* dynamically_typed=new //вот здесь нужно указать, что тип должен быть как и у p(или *p)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 19:10     Узнать тип для new в runtim'e
Посмотрите здесь:

template, узнать тип переменной C++
Объясните пожалуйста, как узнать тип ОС C++
Узнать тип переменной C++
Узнать тип значения, зная тип указателя C++
Узнать тип объекта передаваемого по ссылке C++
Как узнать тип производного класса в функции базового C++
Узнать тип файла по его расширению C++
C++ Как узнать тип, переданный через указатель на void?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
27.04.2014, 19:16     Узнать тип для new в runtim'e #2
Самое простое - добавить метод Clone в классы.
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
27.04.2014, 19:37     Узнать тип для new в runtim'e #3
Agent Smith, здесь.
Yandex
Объявления
27.04.2014, 19:37     Узнать тип для new в runtim'e
Ответ Создать тему
Опции темы

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