[英]C++: Virtual Inheritance
請考慮以下代碼:
#...
class A {};
class B: public A{};
class C: virtual public A{};
class D: virtual public C{};
// No More Classes
...
int _tmain(int argc, _TCHAR* argv[]) {
cout<<sizeof(A)<<" ";
cout<<sizeof(B)<<" ";
cout<<sizeof(C)<<" ";
cout<<sizeof(D)<<".";
...
}
O / P:1 1 4 8。
題:
*。 這是我的第一個問題,如果你發現任何錯誤,請糾正我。
簡而言之,這不是因為類是虛擬的,而是因為標准要求所有對象都可以通過它們的內存地址來區分。 看到這個問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.