Je définis une classe qui a comme membres privés des pointeurs vers des classes modélisées. J'ai une question concernant la conception d'une telle classe. Plus précisément, si la classe externe doit être modélisée ou non. Depuis, j'initialise les membres privés dans le constructeur de la classe externe, je suppose, c'est correct de le faire. Y a-t-il d'autres alternatives? Un exemple de la déclaration de classe est donnée ci-dessous et toutes les suggestions sont les bienvenues:concevoir des classes de modèle imbriquées
#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 pour "règle de 3", je ne peux pas croire que j'ai manqué cela. – Mephane
en ce qui concerne 'processFoo' et' processBar', vous avez raison, cela ne devrait apparaître que si la classe externe n'est pas modélisée. De plus, je n'ai pas mis tout le code, mais vous avez raison, j'ai besoin du constructeur de copie et de la méthode d'affectation. – Javier