この「基本」クラスは、b、medium1、およびmedium2を構成します。「トップ」クラスを使用すると、2倍以上構築されます。合計5回作成(画面に5回書き込み)。
質問: 「base」クラスで何を変更して、一度だけ構築できるようにすることができますか?
#include "stdafx.h"
#include<stdlib.h>
class base
{
public:
base(){x=5;printf(" %i ",x);}
int x;
}b;
class medium1:public base{}m1;
class medium2:public base{}m2;
class top:public medium1,medium2{};
int main() {
top ten;
getchar();
return 0;
}
仮想基本クラスの落とし穴は何ですか?私のささいな質問に答えてくれてありがとう。