填空题 以下程序运行时,输出到屏幕的结果中第一行是 1,第二行是 2,最后一行是 3
#include<iostream.h>
class A
{
int x,y;
public:
A(int a,int b)
{
y=b;
}
virtual void fun1()
{
cout<<"x+y="<<x+y<<"/n";
}
};
class B:public A
{
int m,n;
public:
B(int a,int b,int c,int d):A(c,d)
{
m=a;
n=b;
}
void fun1()
{
cout<<"m*n="<<m*n<<"/n";
}
};
void print(A&ra)
{
ra.fun1();
}
void main(void)
{
A a(10,20),*pa;
B *p;
p=new B(20,30,40,50);
p->fun1();
pa=&a;
pa->fun1();
pa=p;
pa->fun1();
print(a);
delete p;
}
【正确答案】
【答案解析】m*n=600、x+y=30、x+y=30