C++的虚基类是什么含义(wwh决定勇敢)

慕莱坞2884157
浏览 1411回答 1
1回答

MadMarical

你好。虚基类存在的意义到底是什么,举例如下。当C继承自A,B也继承自A的时候,C和B并不存在冲突。但是因为多重继承的存在,我们无法排除存在一个D类,它继承自C和B。这样就出现问题了,因为有可能在A中存在一个数据成员或者成员函数,它既被C继承也被B继承。此时D又继承自了C和B,那么D中就存在了两份拷贝。当你调用这个方法时,编译器无法得知是调用从C中继承而来的方法还是B中继承而来的方法。因为两者没有区别。那么为了让多重继承只存在一份拷贝,就出现了虚基类。这就是虚基类的含义。
打开App,查看更多内容
随时随地看视频慕课网APP