Je cherche a rendre visible une methode virtualle f de la classe englobante. Voici un exemple de code qui bien sûr ne marche pas:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class A{
public:
	A(){}
	~A(){}
 
	static int a;
	inline virtual int f()=0;
private:
	class B{
		public:
			B(){}
			~B(){}
			inline virtual int g()=0;
			inline int h(){ return g();}
		};
	};
 
class AA:A{
public:
	AA(){}
	~AA(){}
	inline int f(){return a++;}
private:
	class BB:B{
		public:
			BB(){}
			~BB(){}
 
			AA  tmp;
			inline  int g(){ return tmp.f();}
		};
	};
on notera que private ne joue pas dans les messages d erreur.
Le message d erreur est qu il ne voit pas la classe englobante ( AA tmp

Si vous avez des questions n hesitez pas.

Merci