C++语言:在私有继承中,基类的公有成员和保护成员成为派生类的私有成员,无法继续继承。

C++语言:在私有继承中,基类的公有成员和保护成员成为派生类的私有成员,无法继续继承。我想知道,何谓“无法继续继承”?我试了一下,先定义了一个含有私有成员的类【1】,再以... C++语言:在私有继承中,基类的公有成员和保护成员成为派生类的私有成员,无法继续继承。
我想知道,何谓“无法继续继承”?
我试了一下,先定义了一个含有私有成员的类【1】,再以这个类【1】为基类用私有的方式派生出了一个类【2】,再用这个类【2】作为基类以私有的方式派生出了又一个类【3】。即,【1】私有派生出【2】,【2】又私有派生出【3】。
然后,我发现类【1】中的私有成员仍然是类【3】的成员。所以,这个私有成员在上述过程中被连续继承了两次。何谓,“无法继续继承”?
展开
 我来答
heptnaol
2016-12-31 · TA获得超过7263个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1842万
展开全部

例如:

class A
{
public:
int a;
};
class B :private A
{
public:
void fun() { cout << a << endl; }//可以访问a
};
class C : public B
{
public:
void fun() { cout << a << endl; };//错误,无法通过编译,a私有,不可见
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式