选择题
有如下程序:
#include
using name space std;
classB{
public:
B(int xx):x(xx){++count;x+=10;}
virtual void show()const
{cout<<count<<'_'<<x<<endl;}
protected:
static int count;
private:
intx;
};
class D:publicB{
public:
D(int xx,int yy):B(xx),y(yy){++count;y+=100;}
virtual void show()const
{cout<<count<<'_'<<y<endl};
pnvate:
inty;
};
int B::count=0;
intmain(){
B*ptr=new D(10,20);
ptr->show();
delete ptr;
return 0;
}
运行时的输出结果是
。
A、
1_120
B、
2_120
C、
1_20
D、
2_20
【正确答案】
B
【答案解析】
本题考查了类的继承。继承有三种方式,public公有、pnvate私有和protected保护,本题都涉及到了。本题中类D公有继承类B。在类B中又定义了虚函数,并且有保护类静态类型count及私有变量x。主函数中调用类D,类D又继承了类B,经过系统及调用,本题最终结果为2120。
提交答案
关闭