这个“基”类为 b 、 medium1 和 medium2 构造。当我使用“顶级”类时,它的构造量增加了 2 倍。共构建 5 次(写入屏幕 5 次)。
问题: 我可以在“基”类中更改什么以使其只构造一次。?
#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;
}
虚拟基类的陷阱是什么?感谢您回答我的琐碎问题。