C++03 标准规定 §1.8 [intro.object]/4:
如果一个完整的对象,一个数据成员(9.2),或者一个数组元素是类类型,它的类型被认为是最派生的类,以区别于任何基类子对象的类类型;最派生类类型的对象称为最派生对象。
任何人都可以对“最衍生的对象”有所了解吗?一些例子将不胜感激。
C++03 标准规定 §1.8 [intro.object]/4:
如果一个完整的对象,一个数据成员(9.2),或者一个数组元素是类类型,它的类型被认为是最派生的类,以区别于任何基类子对象的类类型;最派生类类型的对象称为最派生对象。
任何人都可以对“最衍生的对象”有所了解吗?一些例子将不胜感激。
引用将大多数派生类的含义定义为被实例化的对象的类。虽然一个对象可以有多种类型,但作为继承模型的is-a关系,它只有一个最派生类。
举个例子:
class base {};
class derived : base {};
class base2 {};
class mostderived : derived, base2 {};
mostderived md;
该对象md
属于大多数派生类 ,mostderived
尽管它也属于 和类型。在谈论时,有一个 type的子对象,一个 type 的子对象(包括 type 的子对象)和一个 type 的子对象,但只有一个最派生的 object是type 。base
derived
base1
md
base
derived
base
base2
md
mostderived