-1
在創建DR的對象時該代碼時,字符串 「Hello World」 應當被印刷的4倍,而不是將其僅打印3次。 爲什麼如此? 從我認爲這是因爲mid1和mid2實際上是遺傳的。 有人可以解釋我什麼時候發生,當我們幾乎繼承一個類,更重要的是,當它是有用的,爲什麼?
#include <iostream>
struct BS
{
BS()
{
std::cout << "Hello World" << std::endl;
}
unsigned int color;
};
struct mid1 : virtual public BS { };
struct mid2 : virtual public BS { };
struct mid3 : public BS { };
struct mid4 : public BS { };
struct DR : public mid1, public mid2,
public mid3, public mid4 { };
int main(int argc, char** argv)
{
DR d;
return 0;
}
[請選擇](https://www.google.com/search?q=virtual+inheritance) – chris
您的意思是「」Hello World「應該打印3次,所以它是。」? –
沒有任何有限的知識,我把它計算爲4.但它是印刷3.我想知道原因。 – jairaj