ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 概述 ![](https://img.kancloud.cn/bb/d7/bbd73b4e66c0d22f6b171cfb8d20be91_1177x612.png) > 总结: 就是按照父类权限和子类权限的最小权限继承 如 第二行第三列 父类的限定符是protected,子类继承方式是public,则按照最小权限的 protected 表示 ## 公有(Pulic)继承 公有继承就是将基类的公有成员变为自己的公有成员,基类的保护成员变为自己的保护成员。 <details> <summary>main.cpp</summary> ``` #include <iostream> #include <string> using namespace std; class A { public: int age; string name; void SetAge(int a) { age=a; } void SetName(string n) { name=n; } }; class B:public A { public: void SetB(int a ,string n) { SetAge(a); SetName(n); } void echoB() { cout << age << " " << name <<endl; } }; int main() { B b; b.SetB(123,"idcpj"); b.echoB(); } ``` </details> <br/> * 基类的私有成员:在派生类和外部都不可以访问。 * 基类的公有成员:在派生类和外部都可以访问。 * 基类的保护成员:在派生类可以访问,在外部不可以访问。 ## 私有(Private)继承 私有继承是将基类的公有成员和保护成员变成自己的私有成员,而基类的私有成员在派生类里本身就不能访问。 * 基类的私有成员:在派生类和外部都不可以访问。 * 基类的公有成员:在派生类可以访问,在外部不可以访问。 * 基类的保护成员:在派生类可以访问,在外部不可以访问。 ## 保护(Protected)继承 保护继承是将基类的公有成员和保护成员变成自己的保护成员,而基类的私有成员在派生类里本身就不能访问 ## 三种继承方式的比较 ![1593668127992.png](http://yanxuan.nosdn.127.net/b8a1116ca5ac3e70bafc12149f1071b2.png)