Je suis assez nouveau pour C++, surtout dans ses techniques. Ma question est, comment puis-je créer un membre d'objet statique d'une classe elle-même. Ce que je veux dire, c'est que j'ai déclaré un objet membre statique dans une classe. Exemple:Comment créer un membre d'objet statique de classe?
CFoo:CFoo *pFoo[2] = {0};
class CFoo
{
public: static CFoo *pFoo[2];
public: CFoo(int a);
public: CFoo *getFoo();
};
Maintenant, le problème est, comment puis-je créer le pFoo, comme je veux créer deux objets statiques pFoo,
pFoo[0] = new CFoo(0);
pFoo[1] = new CFoo(1);
pour que je puisse utiliser la méthode getFoo pour retourner l'un des le pFoo, comme,
CFoo *getFoo()
{
return pFoo[0]; //or pFoo(1);
}
Merci beaucoup les gars. J'espère que mes questions sont claires.
Merci encore à l'avance. -sasayins
Vous soulevez autant de bons points, je voudrais vous donner trois votes. – sbi
+1 très bon conseil. En outre, il n'y a vraiment aucun moyen fiable de libérer la mémoire donnée aux membres statiques à moins que vous ne le fassiez explicitement. Il restera alloué jusqu'à la fin du programme. –
merci beaucoup beaucoup. mais que faire si je veux créer un objet en utilisant CFoo, comme par exemple, CFoo * pFoos [2]; pFoos [0] = nouveau CFoo; pFoos [1] = nouveau CFoo; Puis, ma question est la suivante: les foos [0] et les foos [1] ont-ils été alloués? – domlao