首页 > 解决方案 > 继承:访问另一个类的私有和公共部分

问题描述

我的作业告诉我在子类中使用父类的私有和公共部分。

但是做类似的事情

class CarInsurance: public Insurance, private Insurance
{
public:
//some stuff...
private:
//some more stuff...
}

是同一类的副本,这是不可能的。

有没有其他方法可以做到这一点而不必创建多个子类?我只想有一个子类,它可以使用父类的公共和私有部分。

标签: c++classoop

解决方案


是的,你可以通过结交班级来做到这一点。

这个概念是:

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...
}

推荐阅读