好了结果说A未定义,好吧,那我们从定义一个类,如下:
1 #include <iostream>
2 using namespace std;
3 class D
4 {
5 public:
6     void getD()
7     {
8         cout<<"i am getD()"<<endl;
9     }
10 };
11 class A
12 {
13 public:
14     A(){
15         cout<<"this a"<<endl;
16     }
17     void getA(){cout<<"i am getA()"<<endl;}
18     ~A(){cout<<"a dead"<<endl;}
19     class B:public D
20     {
21     public:
22         B(){cout<<"this b"<<endl;}
23         ~B(){cout<<"b dead"<<endl;}
24         void getB(){cout<<"i am getB()"<<endl;}
25
26     };
27     B b;
28 };
29 int main(int argc, char * argv[])
30 {
31     A a;
32     a.b.getB();
33     a.getA();
34     a.b.getD();
35     A::B b;
36     b.getB();
37     b.getD();
38     return 0;
39 }
  结果也是正确的,看来类B是可以继承其他类的,也有那些继承关系。
  结论:
  我们分析到c++是可以进行类嵌套的,并且可以像正常类一样操作它,除了不能继承嵌套它的类,目前还没发现有其它特性,有兴趣的可以验证一下匿名类是否可以在c++被允许。