Я определяю класс, который имеет как частные члены указатели на шаблонные классы. У меня вопрос о дизайне такого класса. Точнее, должен ли быть шаблонный внешний шаблон или нет. Поскольку я инициализирую частные члены в конструкторе внешнего класса, я думаю, это правильно. Есть ли другие альтернативы? Пример декларации класса приводится ниже, и все предложения приветствуются:проектирование вложенных шаблонных классов
#include <foo.h>
#include <bar.h>
template < class FOO_TYPE, class BAR_TYPE >
class OuterClass{
public:
OuterClass(){
this->m_pFoo = new CFoo<FOO_TYPE>();
this->m_pBar = new CBar<BAR_TYPE>();
this->m_nMyInt = 0;
}
template < class FOO_TYPE >
CFoo<FOO_TYPE> * processFoo();
template < class BAR_TYPE >
CBar<BAR_TYPE> * processBar();
~OuterClass(){
delete this->m_pFoo;
delete this->m_pBar;
}
private:
int m_nMyInt;
CFoo<FOO_TYPE> * m_pFoo;
CBar<BAR_TYPE> * m_pBar;
};
+1 для «правила 3», я не могу поверить, что пропустил это. – Mephane 2010-11-29 14:48:55