基类
class my_basic { public: my_basic() {} int my_basic_public; int get_my_basic_protected() { return my_basic_protected; } int get_my_basic_private() { return my_basic_private; } enum {a0,a1,a2,a3}; static int add22() { return 255; } protected: int my_basic_protected=3; private: int my_basic_private=255; };公有继承
class my_basic_A : public my_basic { public: my_basic_A() {} int AAA; int get_basicprotected() { return my_basic_protected; } protected: private: };公有继承–等效于
class AAA {public: AAA() {} int AAA; int get_basicprotected() { return my_basic_protected; } //相当于继承来的 int my_basic_public; int get_my_basic_protected() {return my_basic_protected; } int get_my_basic_private() {return my_basic_private; } enum {a0,a1,a2,a3}; static int add22() {return 255;} protected: int my_basic_protected=3; private: }; //类AAA与my_basic_A 一样保护继承
class my_basic_B : protected my_basic {public: my_basic_B() {} int AAA; int get_basicprotected() { return my_basic_protected; } protected: private:保护继承–等效于
class BBB { public: BBB() {} int AAA; int get_basicprotected() { return my_basic_protected; } protected: //相当于继承来的 int my_basic_public; int get_my_basic_protected() { return my_basic_protected; } int get_my_basic_private() { return my_basic_private; } enum {a0,a1,a2,a3}; static int add22() { return 255; } //继承 int my_basic_protected=3; private: };私有继承
class my_basic_C : private my_basic { public: my_basic_C() {} int AAA; int get_basicprotected() { return my_basic_protected;// } protected: private: };私有继承–等效于
class CCC { public: CCC() {} int AAA; int get_basicprotected() { return my_basic_protected;// } protected: private: //相当于继承来的 int my_basic_public; int get_my_basic_protected() { return my_basic_protected; } int get_my_basic_private() { return my_basic_private; } enum {a0,a1,a2,a3}; static int add22() { return 255; } //继承 int my_basic_protected=3;
