esc je rêve ou bien je vous vois oublier les points-virgules apres l'} fermente de la classe??
class TMAC {
public:
private:
... ... ...
} ; // <=== ce pt1 de ;
soit g fumé qqch et le ; n'est pa nécessaire, soit c'est un oubli que vous avez fait, soit le compilateur que vous utilisez est très coopératif et s'adapte a ce style d'écriture ;-) nan séieusement je me trompe??
-------------------------------
Réponse au message :
-------------------------------
-------------------------------
Réponse au message : OK , je n'avais pas compris ce que tu voulais... Par contre là je ne vois pas vraiment. Je vais essayer de creuser GoldenEye

-------------------------------
-------------------------------
Réponse au message :
-------------------------------
oui mais non c pas ca que je veux ...
Je veux dans getVAR() (qui est d'ailleurs declaré dans TMAC) pouvoir faire par exemple printf("%d",iA); (où iA est déclaré dans TCX)
Sinon mes déclarations sont bonnes, je veux pouvoir accéder à iA de l'exterieur ...
-------------------------------
Réponse au message : Tes déclarations sont un peu bizarres. En règle générale on déclare private les membres de données ( tels iA et ce même si on s'en sert ailleurs ) et public les fonctions ( telles getVAR(). Je te suggère de déclarer friend la fonction getVAR(). Grosso modo, les fonctions friend ont la capacité d'accéder aux membres private d'une classe.
Pour le code ça devrait être qqch comme ça:
class TMAC {
public:
... ... ... // les fonctions de TMAC sans rapport avec TCX
private:
... ... ... // les données de TMAC ( si il y en a ! )
}
class TCX {
friend int getVAR() { return iA ; } // Renvoie iA de l'objet TCX considéré
public:
... ... // les fonctions de TCX
private:
... ... // les données de TCX
}
Je n'ai pas encore essayé le code parce que je ne sais pas exactement où tu veux en venir. Si ça ne marche toujours pas, poursuis la discussion ( enfin pas trop parce que je suis débutant en POO

GoldenEye
-------------------------------
Bonjour, je vous explique le contexte...
J'ai 2 classes :
class TMAC {
public:
void getVAR();
}
et :
class TCX {
public:
int iA;
TMAC macro;
}
Je crée une instance de TCX ...
cx = new TCX;
et pour appeler getVAR je fais naturellement:
cx->macro.getVAR() pas de probleme...
MAINTENANT MON PROBLEME :
quand je crée
TMAC::getVAR() je voudrais pouvoir acceder à iA (de TCX) en sachant que je 'utilise la classe TMAC que pour TCX et si je fais ca c uniquement pour la lisibilité ...(car en fait j'ai pleins d'autres trucs dans les classes et TMAC risque de reservir dans la suite de mon prog ... je sais pas encore)
Aidez moi SVP ...

