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

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

Войти
Регистрация
Восстановить пароль
 
tanya-bass
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 3
#1

Задача с шаблонами и наследованием - C++

07.02.2014, 11:24. Просмотров 273. Ответов 5
Метки нет (Все метки)

Ребята, есть такая проблема..

Предположим, что у нас есть класс Image (не шаблонный). И есть класс ImageExt<T1,T2> (шаблонный), унаследованный от Image. Я хочу использовать в своей функции множество различных ImageExt<T1,T2> естественно с разными типами. Чтобы это можно было реализовать, хочу хранить объекты в массиве типа Image.
Всё бы хорошо, но в ImageExt есть шаблонные методы, которые мне бы хотелось использовать, а шаблонные методы делать виртуальными нельзя.

Может быть кто-то знает как решить данную проблему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 11:24     Задача с шаблонами и наследованием
Посмотрите здесь:

Задача с шаблонами функций - C++
Необходимо написать программу, которая использует шаблон функции по имени Min для определения наименьшего из двух аргументов, используя...

Проблемы с наследованием - C++
Выпадает такая ошибка Error 3 error C2259: 'Operator' : cannot instantiate abstract class d:\учёба\ооп\терминал...

Проблема с наследованием - C++
Здравствуйте, уважаемые Все! Столкнулся со следующей проблемой. Необходимо реализовать паттерн программирования &quot;Фабричный метод&quot;....

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

Непонятки с наследованием - C++
Будьте добры, проясните пожалуйста такой момент: Есть код: #include &lt;iostream&gt; using namespace std; class Counter { ...

Не могу разобраться с наследованием - C++
есть клас class Liquid{ private: string name; float density; public: Liquid(){ ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.02.2014, 12:17     Задача с шаблонами и наследованием #2
tanya-bass, можно во всяком случае использовать явное приведение к типу, в данном случае dynamic_cast<ImageExt<T1,T2>>()
tanya-bass
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 3
07.02.2014, 12:29  [ТС]     Задача с шаблонами и наследованием #3
Это понятно, но каким образом мы узнаем к чему кастить? У нас же массив некоторый, мы туда накидали различных ImageExt, а потом по индексам хотим обращаться и ним и вызывать методы, соответствующие нужным объектам.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.02.2014, 12:40     Задача с шаблонами и наследованием #4
Цитата Сообщение от tanya-bass Посмотреть сообщение
но каким образом мы узнаем к чему кастить?
это уже вам решать, вы ведь собрались вызывать в некоторых случаях шаблонные функции, которых нет в базовом классе.
tanya-bass
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 3
07.02.2014, 13:00  [ТС]     Задача с шаблонами и наследованием #5
Можно было бы сделать шаблонный метод виртуальным и вызывать его, но это невозможно, к сожалению..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 13:44     Задача с шаблонами и наследованием
Еще ссылки по теме:

Массив классов с наследованием - C++
Hi,all and thanks in advance. Shape base class, line and Point derived classes. What should I declare in .h files and implement in .cpp...

Класс со множественным наследованием - C++
Доброе день! Необходимо оперативно написать программу, надеюсь на вашу помощь! Текст программы: Написать класс &quot;Автомобиль&quot; с...

Проблемы с наследованием классов - C++
1-е задание: Создать класс базовый класс «вещественное число». Элементы класса (поля имеют статус доступа protected): поле,...

Не разберусь с наследованием класса - C++
Помогите разобраться с классами. Есть класс - шаблон и 2 класса наследуемые от него template &lt;class Type&gt; class VRTSmartStr : public...

подскажите пожалуйста с наследованием - C++
Здравствуйте! такой вопрос... создаю базовый класс к примеру : class Books от него наследую class History : public...

Немного подправить код с наследованием (С++) - C++
.cpp файл #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &quot;5header.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
07.02.2014, 13:44     Задача с шаблонами и наследованием #6
tanya-bass, а так ли нужны шаблонные методы, может быть вполне достаточно шаблонного класса?
Yandex
Объявления
07.02.2014, 13:44     Задача с шаблонами и наследованием
Ответ Создать тему
Опции темы

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