1. 程式人生 > >C++內部類,內部列舉

C++內部類,內部列舉

#include  "stdafx.h"
#include<iostream>  
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;


}