powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шаблоны и виртуальные функции
11 сообщений из 11, страница 1 из 1
Шаблоны и виртуальные функции
    #34111297
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как отнаследоваться от класса шаблона?
То есть иметь одни тип, который будет отнаследован
от любого из N типов полученных в результате параметризации.

Другими словами нужно скрыть параметризацию в классе потомке
чтобы можно было вызывать виртуальные функции через указатель на базовый класс не зависимо от значения параметра.

Если поставить задачу более конкренто, нужно хранить массив
указателей на на обьекты порожденные от одного шаблона,
при этом параметры могут быть разные, а соответственно и типы.


Приветствуется ссылки на литературу , а лучше инет, где расписаны
принципы.

Спасибо.
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111352
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так отнаследоваться или хранить объекты?

Может возможно хранение указаетелей типа нешаблонного интерфейса шаблонов?
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111364
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эвана чего захотел! не выйдет! рассказывай про задачку может чего и придумается
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111407
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhТак отнаследоваться или хранить объекты?

Может возможно хранение указаетелей типа нешаблонного интерфейса шаблонов?

Да я как раз это и имел ввиду.
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111436
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedэвана чего захотел! не выйдет! рассказывай про задачку может чего и придумается

Эту задачу я решил пару лет назад, полностью отказавшись от использования собственных шаблонов.

Сейчас пришло время переосмысления знаний и опыта, вот вспомнил.

Навеяло темой Akh о шаблонах.
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111453
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- AkhТак отнаследоваться или хранить объекты?

Может возможно хранение указаетелей типа нешаблонного интерфейса шаблонов?

Да я как раз это и имел ввиду.

Попробовать такое?:

Код: plaintext
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.
class Class1 {
   public:
      virtual func1() =  0 ;
}

template <class T>
class Class2 : public Class1 {
    public:
      virtual func1() {...};
}

class ClassX {
    private:
       vector<Class1*> v_cl1;
    public:
       void add(Class1 *_cl1) {
           v_cl1.push_back(cl1);
       }
       Class1* get(int i) {
           ...
       }
}

ClassX clX;
clX.add(new Class2<SomeOtherClass>);
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111456
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- AkhТак отнаследоваться или хранить объекты?

Может возможно хранение указаетелей типа нешаблонного интерфейса шаблонов?

Да я как раз это и имел ввиду.
вот так можно
class Base
{
public:
virtual ~Base() []
virtual foo() = 0;

};
template <typename T>
class Derived : public Base
{
...
};

typedef Vector<auto_ptr<Base> > Buffer;
int main()
{
Buffer buf;
buf.push_back(new Derived<int>());
buf.push_back(new Derived<double>());
}
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111800
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh & blinded, Огромное Спасибо.

В ближайщее время обязательно попробую.
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34111930
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedtypedef Vector< auto_ptr <Base> > Buffer;


Сам-то пробувал ?
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34113869
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) blindedtypedef Vector< auto_ptr <Base> > Buffer;


Сам-то пробувал ?
попробувал, признаюсь облажался, нету там конструктора от
const auto_ptr<T> вот беда...
...
Рейтинг: 0 / 0
Шаблоны и виртуальные функции
    #34114366
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded Gluk (Kazan) blindedtypedef Vector< auto_ptr <Base> > Buffer;


Сам-то пробувал ?
попробувал, признаюсь облажался, нету там конструктора от
const auto_ptr<T> вот беда...

Если бы получилось было бы только хуже
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шаблоны и виртуальные функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]