7
的C++ 03標準狀態§1.8[intro.object]/4:「最衍生對象」是什麼意思?
如果一個完整的對象,數據部件(9.2),或陣列元件是 類類型,其類型爲被認爲是最派生的類,以 區分它與任何基類子對象的類類型;大多數派生類類型的對象稱爲最派生對象。
任何人都可以對「最衍生的對象」進行闡述嗎?一些例子將非常感激。
的C++ 03標準狀態§1.8[intro.object]/4:「最衍生對象」是什麼意思?
如果一個完整的對象,數據部件(9.2),或陣列元件是 類類型,其類型爲被認爲是最派生的類,以 區分它與任何基類子對象的類類型;大多數派生類類型的對象稱爲最派生對象。
任何人都可以對「最衍生的對象」進行闡述嗎?一些例子將非常感激。
該引文將的大部分派生類的含義定義爲被實例化的對象的類。雖然一個對象可以是多個類型,但作爲繼承模型是一個關係,它將只有一個大多數派生類。
用一個例子:
class base {};
class derived : base {};
class base2 {};
class mostderived : derived, base2 {};
mostderived md;
目的md
是最派生類mostderived
的,雖然它是類型base
,derived
和base1
也。在談到md
,有base
類型的子對象,derived
類型的子對象(包括base
類型的子對象),和base2
類型的子對象,但只有一個最派生對象即mostderived
類型的md
。