曲径通幽论坛
标题:
虚基类和非虚基类混合使用是情况是怎么样的?
[打印本页]
作者:
easy
时间:
2013-12-14 14:55
标题:
虚基类和非虚基类混合使用是情况是怎么样的?
Q :虚基类和非虚基类混合使用是情况是怎么样的?
A :通常,如果基类是虚基类,派生类将包含基类的一个子对象;如果基类不是虚基类,派生类将包含多个子对象。当虚基类和非虚基类混合时,情况是怎么样的呢?
假设类 B 作为 类C 和 类D 的虚基类,同时也被用作 类X 和 类Y 的非虚基类,而 类M 则从 C, D, X 和 Y 派生而来。此时,类M 从虚派生祖先(即 类C 和 类D)那里继承了一个 类B 的子对象,并从每一个非虚派生祖先(类X 和 类Y)分别继承了一个 类B 子对象。结果是,类M 包含了 3 个 B 类子对象。
因此,当类通过多条非虚途径和虚途径继承某个特定的基类时,该类将包含一个表示所有的虚途径的基类子对象和分别表示各条非虚途径的多个基类子对象。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2