2014-12-04 3 views
0

я создаю класс, который имеет шаблонный объект (Item<T>) в качестве члена, в основном так:Использование универсального элемента шаблона в классе C++

class myClass 
{ 
int other_int; 

public: 
int member_function(); 
vector<Item<T>> vec; 
}; 

В настоящее время у меня есть Item<string>, но я должен быть способный использовать его с нестроковыми объектами. Есть ли способ сделать это без шаблонов myClass (что, очевидно, будет большой работой для сложного класса)?

+2

_ «Есть ли способ сделать это без шаблонов myClass» _ Нет. –

+0

Почему это большая работа, если только один элемент данных является единственным, использующим параметр шаблона? Обычного поиска и замены должно быть достаточно. И нет, другого пути нет. – Praetorian

ответ

0

Если ваш класс будет использовать только Item < строка>, вы можете попробовать:

class myClass 
{ 
    int other_int; 

    public: 
    int member_function(); 
    vector<Item<string>> vec; 
}; 

Но если вы хотите какой-либо другой тип элемента в векторе, ответ нет, не существует волшебных решений.

Смежные вопросы