C++的多继承一直是一个被人诟病的设计,后面的很多高级编程语言也很多舍弃了多继承,但是有些笔试会考察,现在一张图带你看懂多继承以及可能造成的菱形继承的问题。
首先,先检测一下读者对多进程内存储存的理解,放一个简单的测试
不看后面,你知道输出结果是多少吗?
答案是:28
对了吗?
如果对了,代表你多继承掌握的还可以。
再试试菱形继承:
同样的代码,只不过处理了上一个图有菱形继承从而允许访问多个A类的问题
输出结果是多少呢?
答案是:36
如果你都对了,可以关掉了,你已经超过作者了。
如果有错的,就看看这一个图,一个图帮你看懂。