什么是菱形继承带来的二义性问题
来源:互联网 发布:睡了学生妈妈 知乎 编辑:程序博客网 时间:2024/04/25 16:35
首先来看一下这段代码:
#include<iostream>using namespace std;class Grandam{public: void introduce_self() { cout << "I am grandam." << endl; }};class Mother :public Grandam{public: void introduce_self() { cout << "I am mother." << endl; }};class Aunt :public Grandam{public: void introduce_self() { cout << "I am aunt." << endl; }};class Daughter :public Mother,public Aunt{public: void introduce_self() { cout << "I am daughter." << endl; }};int main(){ Grandam* ptr; Daughter d; ptr = &d; ptr->introduce_self(); return 0;}
对该程序进行编译,出现如图问题:
这就是二义性问题,Mother和Aunt都继承了Grandam,而Daughter多继承了Mother和Aunt,这样在调用对象d时,编译器不知道要调用来自Mother里的成员函数introduce_self(),还是来自Aunt里的introduce_self(),所以编译时会出错。
二义性的解决方法过程详细分析,见下篇文章:
http://blog.csdn.net/lxp_mujinhuakai/article/details/69427582
0 0
- 什么是菱形继承带来的二义性问题
- 虚拟继承解决菱形继承带来的二义性问题的过程详析
- 菱形继承与菱形虚拟继承的相关问题
- 菱形继承的二义性和数据冗余问题
- 多继承带来的问题
- volatile的作用和菱形继承问题
- 菱形继承问题
- 菱形继承问题
- 菱形继承问题(default)
- 菱形继承问题和虚继承是如何解决二义性与数据冗余的
- c++-关于菱形继承&虚继承的问题总结
- 菱形的虚拟继承
- 菱形继承的识别
- 菱形继承->菱形虚拟继承(继承系列问题)
- 20170511_请说清楚什么是菱形继承
- 多继承实现COM类中的"菱形问题" C++也有一样的菱形问题
- C++虚拟继承解决菱形继承的二义性
- c++菱形继承产生的问题及解决
- 2016php笔试题
- 字符串指定位置替换字符
- 关于二叉树问题
- AngularJS尝鲜——增减商品购买量
- GitHub Desktop下载及使用
- 什么是菱形继承带来的二义性问题
- 利用java实现文件的复制
- [mysql ] 数据库常用操作(一)
- 【hdu4010】Query on The Trees
- 用户,及用户组
- 微信小程序 view的文本不能自动换行问题
- 基于H5canvas和js的高斯模糊处理
- 关于使用PHP转换office文件为PDF的解决方案!
- iOS 工程套子工程,主工程和framework工程或.a library静态库工程联调