对三种不同继承方式的理解

2023.06.30

我们说的所谓“对内可见”,“对外不可见”首先要明确:

“对内可见”,也即“对类可见”,可以体现为,在派生类的成员函数中是否能访问基类的数据成员;

“对外不可见”,也即“对类的对象不可见”,可以体现为,在main函数中能否通过实例化的派生类对象去访问基类的数据成员;

目前用devc++实践出来的结论是:

空格中填写对于Base类成员的可访问性Base类中成员
public成员protected成员private成员
Base类
Base类的派生类public继承
protected继承
private继承
Base类的派生类对象public继承
protected继承
private继承
Base的public子类的派生类public继承
protected继承
private继承
Base的public子类的派生类对象public继承
protected继承
private继承
Base的protected子类的派生类public继承
protected继承
private继承
Base的protected子类的派生类对象public继承×
protected继承
private继承
Base的private子类的派生类public继承
protected继承
private继承
Base的private子类的派生类对象public继承
protected继承
private继承

总结:

在单次继承中,我们无法观察到protected继承和private继承的任何差别; 

protected和private的区别只有在继承后再继承才能体现出来;

暂时整理不出来为啥;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值