我已经尝试使以下测试程序工作2天,但它不起作用.它基于几个头文件完全正常工作,因为我通过另一个测试程序检查它们.它有头文件,称为Area,Circle,Ring,Rectangle和Square.我还定义了函数randcolor和randsize; 我一遍又一遍地检查每一个,但它在while循环中第二次尝试后产生相同的ouptut:
int main()
{
srand(time(NULL));
Area *list[20];
int m;
Area *c;
int j = 0;
while (j < 20) {
m = rand() % 4;
cout << m << endl;
switch (m) {
case 0: {
Circle a(randcolor(), randsize());
c = &a;
break;
}
case 1: {
Ring r(randcolor(), randsize(), randsize());
c = &r;
break;
}
case 2: {
Rectangle re(randcolor(), randsize(), randsize());
c = &re;
break;
}
case 3: {
Square sq(randcolor(), randsize());
c = &sq;
break;
} …Run Code Online (Sandbox Code Playgroud) c++ ×1