Bonjour,
Dans le livre de Scott Meyers � l'item 26, on a le code suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class B;//forward déclaration for class B
class A{
private:
int o;
public:
A(const B& X); //an A can be constructed from a B
};
class B{
private:
int o;
public:
operator A() const;//a B can be converted to an A
}; |
On voit que le constructeur par copie de A permet de construire un objet A a partir d'un objet B. Alors j'ai voulu d�finir ce constructeur de A
comme ceci:
mais bien sur, o �tant priv�, on ne peut pas acc�der aux donn�es membres de B dans une fonction de la classe A.
Je ne veux pas faire de classe d�riv�e, et d�clarer les membres de B comme protected (ou l'inverse).
Alors y a t il un moyen pour acceder � l'�l�ment o de l'objet-argument autrement que par un accesseur d�clar� comme ceci dans la classe A:
friend int getteur (const B& );
et d�fini comme ceci dans la classe B:
int getteur(const B& X){return X.o;};
Merci
Partager