c++ - 继承:访问另一个类的私有和公共部分
问题描述
我的作业告诉我在子类中使用父类的私有和公共部分。
但是做类似的事情
class CarInsurance: public Insurance, private Insurance
{
public:
//some stuff...
private:
//some more stuff...
}
是同一类的副本,这是不可能的。
有没有其他方法可以做到这一点而不必创建多个子类?我只想有一个子类,它可以使用父类的公共和私有部分。
解决方案
是的,你可以通过结交班级来做到这一点。
这个概念是:
class Insurance
{
// among other things add this line (doesn't matter if its public, protected or private)
friend class CarInsurance;
}
//////////////////////////
class CarInsurance: public Insurance // we need public here
{
public:
//some stuff...
private:
//some more stuff...
}
推荐阅读
- typescript - 如何修复未知编译器选项“importsNotUsedAsValues”。错误?
- reactjs - 反应组件消失时未调用componentWillUnmount方法
- mongoose - MongoDB 阿特拉斯。试图与 atlas DB 建立链接
- powershell - 使用 Invoke-Expression 导航复杂/嵌套哈希表的更紧凑/优雅的方式?
- c++ - C++ 生成随机词
- c# - 如何使用异步方法实现 IStringLocalizer 索引器
- php - 在 php 中为 if 语句使用数据库条目
- string - 将字符串类型转换为字节切片背后的语言规则是什么?在这种转换中实际做了什么?
- list - 在 v-dialog 中使用列表时,Vuetify 崩溃且没有错误输出
- monitoring - 如何监控 Postgres 复制?