Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 10
1

Наследование шаблонных классов

02.04.2016, 19:07. Показов 421. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток всем!
Итак, я имею шаблонный класс. Экземпляры этого класса с разными параметрами шаблона я хочу хранить в одном месте(std::map). Но для контейнера классы с разными параметрами шаблона - разные элементы, поэтому я хочу создать базовый класс для этого шаблонного, и в своем контейнере хранить указатели на экземпляры базового класса. Но я столкнулся с проблемой: когда я произвожу обратное преобразование указателя выводится что-то не то - не в таком коде, но мой похож на него идеологически(см.код - он просто к примеру, прошу к синтаксису не придираться)
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
class B
{
public:
protected:
private:
};
 
template< class T >
class A : public B
{
public:
A(const T& value);
T x;
int id;
protected:
private:
};
template< class T>
A< T >::A(const T& value)
{
x = value;
id = 123;
}
int main
{
std::vector< B* > myVec = {};
A< int > instance(5);
B* ptr = &instance;
myVec.push_back(ptr);
std::cout << ((A< int >*)myVec[0])->id << std::endl;
}
Корректо ли данное решение для моей проблемы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2016, 19:07
Ответы с готовыми решениями:

Наследование шаблонных классов
почему в VS 2017 не компилируется этот код? cpp.sh/8zfd

Наследование шаблонных классов: найти причины возникновения ошибки в коде и исправить эту ошибку
подскажите почему появляется такая ошибка error C2248: 'Base&lt;int,float&gt;::value1' : cannot access...

Наследование в шаблонных типах
template&lt;typename T&gt; class B { protected: T obj; }; template&lt;typename T&gt; class A : public...

Раздельная компиляция шаблонных классов
Пытаюсь сделать класс, который определяет вектор. И содержит методы для работы с ними. Выдаёт...

0
02.04.2016, 19:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2016, 19:07
Помогаю со студенческими работами здесь

Параметры-шаблоны у шаблонных классов
Объясните плз, кто может, для чего используются параметры-шаблоны у шаблонных классов, и как они...

Сравнение типов шаблонных классов
Добрый день. Есть некоторый шаблонный класс (структура): template&lt;int m, int n&gt; struct A { ...

Объявление статических констант шаблонных классов
Что-то я туплю - дан шаблонный класс, принимающий в качестве аргументов шаблона типы Type1 и Type2....

Не получается создать объекты шаблонных классов
#include &lt;iostream&gt; using namespace std; template&lt;class T&gt; class My_Class1 { private: char...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru