C++ 实现内部类访问外部类

来源:互联网 发布:3dmax导入unity3d 编辑:程序博客网 时间:2024/04/29 00:44

C++内部类的实现:

[cpp] view plaincopy
  1. class outclass  
  2. {  
  3. public:  
  4.     int m;  
  5.     class inclass//内部类通过parent指针访问外部类的成员,包括public、private  
  6.     {  
  7.     public:  
  8.         void set_m(int i)  
  9.         {  
  10.             outclass *parent = (outclass *) ((char*)this - offsetof(outclass,in));   
  11.             parent->m = i;  
  12.         }  
  13.     }in;  
  14.   
  15.   
  16. };  
  17.   
  18. void main()  
  19. {  
  20.     outclass out;  
  21.     out.in.set_m(123);  
  22.     cout << out.m << endl;  
  23.     system("pause");  
  24. }  

转自:blog.csdn.net/codestinity/article/details/6898640
 

0 0
原创粉丝点击