码迷,mamicode.com
首页 > 其他好文 > 详细

crfoJkvKsm

时间:2019-09-25 00:45:09      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:强制类型转换   赋值兼容   对象   类继承   情况   访问   派生类   引用   兼容   

基类的private在派生类是不能被访问的
不能被访问不是没有继承,继承下来了,但是没有访问的权限,我们可以通过查看子类所占的字节数查看来验证。

派生类内部都可以访问基类的公有成员和保护成员
派生类对象可以赋值给基类的指针,引用,对象,但是基类一般情况下不能赋值给派生类,除非进行强制类型转换,但是强制类型转换可能会引发问题,如果基类的指针没有指向派生类对象的话,会有越界的问题,所以一般不这么做。

赋值兼容规则 —public继承
子类对象可以赋值给父类对象

父类对象不能赋值给子类对象

如果用父类给子类对象赋值的时候编译器直接报错,为什么?
子类继承于父类,它含有父类的部分,又做了扩展。如果子类对象赋值给父类变量,则使用该变量只能访问子类的父类部分(因为子类含有父类的部分,所以不会有问题)但是,如果反过来,这个子类变量如果去访问它的扩充成员变量,就会访问不到,因为父类不包含该部分,会 内存越界 一般情况,子类在继承了父类的方法和属性外,它还增加了新的属于自己的方法和属性,此时用父类的对象去赋值给子类的对象,这些新的方法和属性要怎么操作呢,C++为了避免这样的现象出现,当你用父类对象给子类赋值时就会报错。但是如果把父类强制转换为子类的类型,可以编译通过。

crfoJkvKsm

标签:强制类型转换   赋值兼容   对象   类继承   情况   访问   派生类   引用   兼容   

原文地址:https://www.cnblogs.com/maze652/p/11581838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!