继承的好处:减少重复代码 语法:class 子类 : 继承方式 父类 子类 也称为 派生类 父类 也成为 基类
继承方式有三种: 公共继承 保护继承 私有继承
#include <iostream> using namespace std; //继承方式 //公共继承 class Base { public: int m_A; protected: int m_B; private }; class Son1 : public Base { public: void func() { m_A=10;//父类中公共权限成员 到子类中依然是公共权限 m_B=10;//父类中保护权限成员 到子类依然是保护权限 //m_C=10;//父类中的私有权限成员 子类访问不到 } }; void text01() { Son1 s1; s1.m_A=100; //s1.m_B=100//到son1中 m_B是保护权限 类外访问不到 } //保护继承 class Base2 { public: int m_A; protected: int m_B; private }; class Son2 : protected Base2 { public: void func() { m_A=10;//父类中公共权限成员 到子类中变为保护权限 m_B=10;//父类中保护权限成员 到子类依然是保护权限 //m_C=10;//父类中的私有权限成员 子类访问不到 } }; void text02() { Son2 s1; //s1.m_A=100;//到son2中 m_B是保护权限 类外访问不到 //s1.m_B=100//到son2中 m_B是保护权限 类外访问不到 } //私有继承 class Base3 { public: int m_A; protected: int m_B; private }; class Son3 : protected Base3 { public: void func() { m_A=10;//父类中公共权限成员 到子类中变为私有成员 m_B=10;//父类中保护权限成员 到子类中变为私有成员 //m_C=10;//父类中的私有权限成员 子类访问不到 } }; void text02() { Son3 s1; //s1.m_A=100;//到son3中 m_B是私有权限 类外访问不到 //s1.m_B=100//到son3中 m_B是私有权限 类外访问不到 } class GrandSon3 : public Son3 { public: void func() { //m_A=10;//到了son3中 都变为了私有成员 //m_B=10;//父类中保护权限成员 到子类中变为私有成员 //m_C=10;//父类中的私有权限成员 子类访问不到 } }; void text02() { Son3 s1; //s1.m_A=100;//到son3中 m_B是私有权限 类外访问不到 //s1.m_B=100//到son3中 m_B是私有权限 类外访问不到 } int main() { system("pause"); return 0; }