重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
内部内:
成都创新互联是一家专注于做网站、网站建设和绵阳服务器托管的网络公司,有着丰富的建站经验和案例。
#includeusing namespace std; class CPeople { public: int a; CPeople( int a ) { this->a = a; } private: class Kayer { public: int a; CPeople* cp; Kayer(CPeople* p) : cp(p) { a = 12; } void fun() { cout << cp->a << endl; } }; public: Kayer* kayer = new Kayer(this); }; int main() { CPeople c( 13 ); cout << "CPeople a : " << c.a << endl; c.kayer->fun(); cout << "=======================================" << endl; c.a = 17; cout << "CPeople a : " << c.a << endl; c.kayer->fun(); return 0; }
结果:
解析 :
① 内部类也属于嵌套类。例如 :Kayer就是CPeople的内部类
② 内部类(Kayer)访问外部类(CPeople)需要使用引用/指针。本篇使用指针 Kayer* kayer = new Kayer(this); 这样可以保证数据的同步。