簡體   English   中英

虛擬基類的實例如何可用於派生類?

[英]How instances of virtual base class are available to derived class?

虛擬基類的實例如何可用於派生類,如何在以下代碼中實現?

class A
{
public:
void test();
};


class B : virtual public A
{
};


class c : public A
{
} ;

 class D : public B, public C
{
};

查看帶有正確版本的題寫注釋:

class A
{
public:
void test();
};

class B: virtual public A // A is a virtual base class
{
};


class C : public A // C is a base class of A
{
} ;

class D: public B, public C // D has two base classes B and C
{
};

通過繼承,D可以得到A的兩個副本,一個通過B,一個通過C,如果您聲明了以下信息,則您在D中可能只有A的一個共享副本:

class C : virtual public A // C is a virtual base class of A
{
} ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM