C++内部类,内部枚举

#include  "stdafx.h"
#include  
using namespace std;
 
//访问内部枚举时,可以省略一层限定符
class A
{
       public :


//内部类
 class  B
public : 

    

  int b;


  enum  G
  {
  g1,
  g2,
  g3,
  g4 
  };

  enum  
  {
  h1,
  h2
  };

    };

 
//内部匿名类
class
{
public :
    float c;

}   c1,c2;  //匿名类定义了两个变量,如果不在这里定义变量,那么之后将无法使用这个匿名类
  

 //内部枚举
enum  D
{
d1,
d2,
d3
};

 
//匿名枚举
 enum  
{
 e1 ,
 e2
};


};




enum F
{
f1,
f2 
};




int main()
{
A  a =A();
   cout << a.c1.c << endl;




A::B  b=A::B();
cout << b.b << endl;
 
 
//内部枚举,两种方式使用
cout << A::D::d3 << endl;
cout << A::d3 << endl;






//内部枚举,两种方式使用
cout << A::B::G::g4 << endl;
cout << A::B::g4 << endl;




//匿名枚举直接访问
cout << A::e2 << endl;


 
//外部枚举,两种方式使用
cout <<  f2 << endl;
cout << F::f2 << endl;


}

你可能感兴趣的:(windows,C/C++)