C/C++中同名覆盖原则和赋值兼容原则
来源:互联网 发布:网络博客被黑客攻击 编辑:程序博客网 时间:2024/06/04 18:41
同名覆盖原则
派生类与基类中有相同成员时:
若未强行指名,则通过派生类对象使用的是派生类的同名成员;
如果要通过派生类的对象访问基类被覆盖的同名成员,需要加 对象名.基类名::同名成员 来限定
二义性解决方法:
一、用类名来限定
二、采用同名覆盖原则
在多继承时,基类与派生类之间,或基类之间出现同名成员时,将出现访问时的二义性(不确定性)——采用虚函数或支配(同名覆盖)原则来解决。
当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生二义性——采用虚基类来解决。
赋值兼容原则
一个公有派生类的对象在使用上可以被当作基类的对象,反之则禁止。
具体表现在:
派生类的对象可以被赋值给基类对象。
派生类的对象可以初始化基类的引用。
基类的对象指针也可以指向派生类。但是如果派生类的指针想要指向基类,则必须要将基类对象的地址强转为派生类类型的。(原则是派生类数据成员默认比基类多一些,赋值或引用初始化给基类对象时,基类只读取自己的那一部分,这只是我自己的理解)
阅读全文
1 0
- C/C++中同名覆盖原则和赋值兼容原则
- C++赋值兼容原则
- C++基类,派生类,同名覆盖原则
- C++基类,派生类,同名覆盖原则
- C++基类,派生类,同名覆盖原则
- C++:类继承、兼容性原则、初始化列表、同名函数
- C++赋值兼容原则理解
- C中内存对齐原则
- C++ 同名隐藏和赋值兼容规则
- C++中指针赋值原则
- java中对象的equals和hashcode覆盖原则
- 代码原则:c/c++
- 单一职责原则(C++)
- 开闭原则(C++)
- 依赖倒转原则(C++)
- Android Q8. [机卡兼容_双卡双待] T+W双卡双待和T+C双卡双待执行测试原则?
- 多态问题抛出(赋值兼容性原则遇上父类与子类同名函数的时候)
- C/C++中关于struct和union的内存对齐原则
- 欢迎使用CSDN-markdown编辑器
- innosetup卸载删除文件
- executorservice的submit和execute
- Python基础教程系列目录,最全的Python入门教程
- 解决·微信小程序开发-网络请求报Invalid request 400错误
- C/C++中同名覆盖原则和赋值兼容原则
- 一些学习资料的总结
- XCode 8.3 上真机与模拟器Framework的合并
- caffe安装
- 在Java中如何高效的判断数组中是否包含某个元素
- [第三季] 012.Map接口及其实现类
- 反编译(myeclipse跟踪源码)
- [转]Ubuntu16.04下安装redis并实现helloworld
- HDU 2832-Snail’s trouble(分治)