c++继承

C++中的继承默认为私有,struct则是共有。派生类可以访问基类的公有和保护属性,但不能访问私有属性。同名成员会隐藏基类成员。拷贝构造时,子类不会调用父类的拷贝构造函数,需要在子类中显式调用。赋值语句仅调用子类赋值操作,可能导致父对象未赋值。
摘要由CSDN通过智能技术生成

继承

如果派生类是class ,默认情况下继承都是私有。如果是struct ,默认继承方式是共有的。

base继承了obj , 在构造base时先分配总大小16个字节的空间 ,然后先构建隐藏父对象obj 在构建base。而不是把obj里面的成员继承过去。

如果继承方式是公有继承 ,那派生类可以访问基类的公有和保护属性 ,但不能访问私有属性。

如果是私有方式继承,也可以访问公有和保护属性,但不能访问私有属性。

如果是在类中直接创建一个有名对象 ,那无论这个有名对象是私有还是公有 ,只能访问其中的共有属性。

 

 

对于两层继承来说 , 如果b继承a是私有继承 ,a就是b的私有属性 ,c不可访问b的私有属性。

同名隐藏:如果基类和派生类的成员名相同时 ,会隐藏父对象成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值