填空题 以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,第三行是 3
#include<iostream.h>
int n=0;
class Base
{
public:
Base(int a)
{
ia=a;
n++;
}
void virtual print()
{
cout<<ia<<endl:
}
int Getia()
{
return ia;
}
private:
int ia;
};
class A1:public Base
{
int x;
public:
A1(int a,int c):Base(a)
{
x=c;
n++;
}
void print()
{
cout<<Getia()<<"/t"<<x<<endl;
}
};
class A2:public Base
{
int y;
public:
A2(int a):Base(10)
{
y=a;
n++;
}
void print()
{
cout<<Getia()<<"/t"<<y<<endl;
}
};
void main(void)
{
Base t1(2), *p;
A1 t2(3,4);
A2 t3(5);
p=&t2;
p->print();
p=&t3;
p->print();
cout<<n<<endl;
}
【正确答案】
【答案解析】3 4、10 5、5