標籤:c++ 內部類
內部內:
#include <iostream>using 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;}
結果:
650) this.width=650;" title="01.png" src="https://s1.51cto.com/wyfs02/M01/97/52/wKiom1ktUWqhDSPfAAAfFunL78s338.png-wh_500x0-wm_3-wmp_4-s_1930903467.png" alt="wKiom1ktUWqhDSPfAAAfFunL78s338.png-wh_50" />
解析 :
① 內部類也屬於嵌套類。例如 :Kayer就是CPeople的內部類
② 內部類(Kayer)訪問外部類(CPeople)需要使用引用/指標。本篇使用指標 Kayer* kayer = new Kayer(this); 這樣可以保證資料的同步。
本文出自 “Better_Power_Wisdom” 部落格,請務必保留此出處http://aonaufly.blog.51cto.com/3554853/1930732
C++ 內部類