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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

Шаблоны изменение типа - C++

18.10.2013, 20:44. Просмотров 251. Ответов 2
Метки нет (Все метки)

Передо мной стоит такая задача:

C++
1
2
3
4
5
6
7
8
9
class par1;
class par2;
class par3;
 
class MyClass  //Основной класс
{
public:
     ТИП parent;      
};
Есть у меня основной класс MyClass, у которого есть параметр-родитель. А качестве параметра я могу поставить любой экземпляр класса из par1, par2, par3.

Для решения данной задачи отлично подошли бы шаблоны, НО мне нужно, чтобы была возможность менять этого родителя - следовательно менять тип. Как я понял с помощью шаблона поменять уже установленный тип нельзя. Может подскажите какой нибудь из наиболее рациональных способов решения такой задачи.

Буду очень благодарен!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 20:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны изменение типа (C++):

Подстановка типа\шаблоны с++ - C++
Добрый день, не могу разобраться представим есть классец находится в .h enum MyEnum { enum1 = 0, enum2 = 1 } ...

Шаблоны, наследование и размер типа - C++
Суть вопроса в том, что имея два шаблона класса, унаследованных от общего предка, и инстанциируя "один другим" имеем + n байт к размеру...

Шаблоны типа template<class T*> - C++
Здравствуйте, объясните пожалуйста, что означает сия запись: template&lt;class T*&gt;. И означает ли она, что я далее смогу использовать только...

Изменение типа - C++
Необходимо неконстантный указать сделать константным (чтобы нельзя было изменить значение, на которое указывает указатель) Пробую такой...

Изменение типа указателя - C++
Вот допустим у меня есть два простейших класса, объекты которов занимают в памяти одинаковое количество памяти class prim { ...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». - C++
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
18.10.2013, 21:18 #2
Цитата Сообщение от Egor138 Посмотреть сообщение
менять тип.
Сам тип поменять во время выполнения нельзя; можно добавить par1, par2, par3 общего предка с необходимыми виртуальными методами и в MyClass хранить указатель на него; либо что-нибудь вроде union (или например boost::variant<par1, par2, par3>).
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
18.10.2013, 21:31 #3
Цитата Сообщение от Egor138 Посмотреть сообщение
Для решения данной задачи отлично подошли бы шаблоны
В каком это месте?
ИМХО эта задача не на шаблоны. Здесь скорее подойдёт наследование и полиморфизм.
C++
1
2
3
4
5
6
7
8
9
10
class base{};
class derived1:public base{};
class derived2:public base{};
class derived3:public base{};
 
class MyClass  //Основной класс
{
public:
     base* parent;      
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 21:31
Привет! Вот еще темы с ответами:

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис) - C++
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем, корни у которых одни, решил создать эту...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны - C++
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, равных 0; 2) сумму элементов...

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

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


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

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

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