cs_tintin72
Messages postés122Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention22 juillet 2006
-
17 févr. 2006 à 14:27
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
18 févr. 2006 à 02:33
Bonjour,
Pour les besoins d'une application je suis confronté à un problème quelque peu tordu
J'ai 2 classes, classeA et classeB.
J'aimerais pouvoir créer (de façon dynamique) un objet de type classeA via un pointeur membre de classeB.
hum, bon ok voici un petit exemple:
dans main.h :
class classeA
{
public:
int entierA;
void creerObjet(classeA **p);
void libererMem(classeA **p);
};
class classeB
{
public:
classeA *m_pClasseA; //Pointeur membre sur classeA
};
dans main.cpp :
void classeA::creerObjet(classeA **p)
{
*p = new classeA; //alloue de la mémoire pour un nouvel objet
return;
}
int main(int argc, char *argv[])
{
classeB *pCB = new classeB;//Créé un objet classeB via un pointeur
pCB->m_pClasseA = 0;//initialise les membres
pCB->entierB = 0;
pCB->m_pClasseA->creerObjet(&(pCB->m_pClasseA));
pCB->m_pClasseA->entierA = 56;// On peut maintenant accéder aux membres
// du nouvel objet de type classeA via un
// pointeur sur un objet de type classeB
Apparement ce petit programme fonctionne mais, n'étant pas un guru du c++ j'aimerais
savoir si cet exemple est correcte et si je peux m'en servir dans un programme plus conséquent sans courir de risques ?