Я определяю класс, который имеет в качестве закрытых членов указатели на шаблоны классов. У меня вопрос по поводу дизайна такого класса. Точнее, должен ли внешний класс быть шаблонным или нет.
Поскольку я инициализирую закрытые члены в конструкторе внешнего класса, я думаю, это правильно. Есть ли другие альтернативы?
Пример объявления класса приведен ниже, и все предложения приветствуются:
#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;
};