c++ - c++ 公共与私有继承
问题描述
我不明白,我真的没有在类中获得公共继承与私有继承。假设我们有以下代码:
class A {
int A_a;
protected:
int A_b;
public:
int A_c;
};
class B : public A {
int B_a;
protected:
int B_b;
public:
int B_c;
};
class C : private A {
int C_a;
protected:
int C_b;
public:
int C_c;
};
我知道它必须具有对 vars 和 funcs 的访问权限,但是做所有测试我真的可以掌握它而且我不知道何时应用公共或私有继承;
解决方案
这是简单的 sheme(基类 -> 派生类)类成员的可见性如何随着不同类型的继承而变化:
公共继承:
- 公共->公共
- 受保护 -> 受保护
- 私人 -> 私人
受保护的继承:
- 公共 -> 受保护
- 受保护 -> 受保护
- 私人 -> 私人
私有继承:
- 公共 -> 私人
- 受保护 -> 私人
- 私人 -> 私人
这里有几个简单的例子https://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm
推荐阅读
- c++ - 初始化模板结构数组
- tensorflow - Tensorfow-lite PReLU Fusion 和 TransposeConv Bias
- excel - 如何从另一个工作簿复制一系列单元格并将其粘贴到另一个工作簿?
- javascript - 显示军用时间的完整日历
- android - 如何在颤动中发出两个依赖的异步请求?
- c# - 导出到excel时Datagridview C#列日期错误格式
- c - 将字符串中的转义十六进制转换为c中的int
- python - 如何在脚本完成后以环境和控制台实例保持打开的方式修改 bat 文件?
- vue.js - Vuejs从父到子传递函数
- css - 如何在资产的自定义 scss 文件中使用 vuetify 主题颜色