Bonjour,

Dans le livre de Scott Meyers � l'item 26, on a le code suivant:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
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:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
friend int getteur (const B& );
et d�fini comme ceci dans la classe B:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
int getteur(const B& X){return X.o;};
Merci