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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
07.02.2014, 13:44
Ответ Создать тему
Опции темы

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