Darkneon
Messages postés56Date d'inscriptionvendredi 18 mai 2001StatutMembreDernière intervention13 décembre 2005
-
8 juin 2003 à 02:34
Darkneon
Messages postés56Date d'inscriptionvendredi 18 mai 2001StatutMembreDernière intervention13 décembre 2005
-
9 juin 2003 à 14:38
Salut,
J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?
Par exemple :
#include
class A
{
protected:
int num;
public:
void SetNum(int tNum)
{ num = tNum; }
};
class B : public A
{
public:
void PrintA()
{ cout << num; }
};
class C : public A
{
public:
void PrintA()
{ cout << num; }
};
void main()
{
B b;
C c
b.SetNum(34);
b.PrintA();
c.PrintA();
}
Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 8 juin 2003 à 10:29
Salut,
Non car la modification se fait sur l'instance d'un objet. Cette instance ne sait absolument pas combien d'instances du même objet existent en mémoire.
dordark
Messages postés3Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 8 juin 2003 8 juin 2003 à 17:59
-------------------------------
Réponse au message :
-------------------------------
> Salut,
>
> Non car la modification se fait sur l'instance d'un objet. Cette instance ne sait absolument pas combien d'instances du même objet existent en mémoire.
>
> Kaid - kaid.fr.st >
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > J'aimerai savoir si c'est possible qu'un changement de donnee dans une classe de base affecte les 2 classes heritees?
> >
> > Par exemple :
> >
> >
> > #include
> >
> > class A
> > {
> > protected:
> > int num;
> > public:
> > void SetNum(int tNum)
> > { num = tNum; }
> > };
> >
> > class B : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > class C : public A
> > {
> > public:
> > void PrintA()
> > { cout << num; }
> > };
> >
> > void main()
> > {
> > B b;
> > C c
> >
> > b.SetNum(34);
> > b.PrintA();
> > c.PrintA();
> > }
> >
> >
> >
> > Le but est que lorsqu'on change "num" avec b que le "num" dans c ai la meme valeur.
> >
> > Merci d'avance
> >
> > P.S J'utilise Turboe C++ 3.0
>
Darkneon
Messages postés56Date d'inscriptionvendredi 18 mai 2001StatutMembreDernière intervention13 décembre 2005 9 juin 2003 à 14:38
Salut,
Ce ne pas grave, j'ai reussi a contourner le probleme. J'ai mis un pointeur (wow, pour la premiere fois je leurs aient trouver une utilisation, tout un exploit!) dans la class et je lui attribut une variable lors de ca creation. Ca marche, j'ai le resultat voulu.