Heeeelp ....

Guillaume - 17 sept. 2001 à 10:16
 loC - 17 sept. 2001 à 14:08
J'ai ca : (programme tres simplifié ... bien sur ...)

#include <stdio.h>
#include

class TMAC {
public:
void getVAR();
};

void TMAC::getVAR() {
printf("%d\n",Ai); // le Ai de TCX !!!
}

class TCX {
public:
int Ai;
TMAC macro;
TCX();
};

TCX::TCX() {
Ai = 2;
}

int main() {
TCX * cx;
cx = new TCX;
cx->macro.getVAR();
exit(1);
}

Je voudrais que ca marche !!! Je voudrais pouvoir accéder à Ai dans getVar() !! j'ai essayé avec extern int Ai; dans getVAR() (ligne en commentaire) mais ca marche pas non plus

J'ai des erreurs de compilation ...
J'ai vraiment besoin de trouver une méthode ... je ne peux pas changer de facon de faire , mon programme est trop avancé ... et j'ai absolument besoin d'accéder à Ai !!

Note : Je suis un novice ce qui explique cette erreur de conception que j'avais pensé possible au départ ...

Si quelqu'un a une soluce ... Merci d'avance !

2 réponses

Au pire:

class TMAC {
private:
int Ai;
public:
//cré un constructeur....
TMAC(int ai){
Ai = ai;
}
void getVAR();
};

en gros: passe Ai en parametre de ta classe TMAC
je comprend pas trop ce que tu veux faire mais tu devrais arriver a t'en sortir comme ca....
0
Au pire:
ajoute un int* Ai (qui pointera vers l' Ai de la classe TCX)en membre privé de ta classe TMAC
ajoute une fonction d'acces et de modif ou initialise le dans le constructeur avec le Ai de la classe TCX...
comme ca, TMAC aura une "vue" sur l'entier de la classe TCX...

Rq: tu aurais pu te débrouiller autrement je pense :)

@+
0
Rejoignez-nous