首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout(show();} void fun2(B &ref
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout(show();} void fun2(B &ref
admin
2020-12-21
21
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void show(){cout(<“B”;}
};
class D:pubhc B{
public:
void show(){cout<<“D”;}
};
void funl(B*ptr){ptr->show();}
void fun2(B &ref){ref.show();}
voidfun3(B b){b.show();}
int main()
{
B b,*P=new D;
D d;
fun1(p);
fun2(b);
fun3(d);
delete P;
return 0;
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/cOyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序 #include <iostream> using namespace std; int i=1; class Fun { public: static int i; int
若语句: cout<<setfill(’>’)<<setw(5)<<3141512<<setw(5)<<"OK!"; 是程序中第一个输出语句,则输出结果是
已知类MyClass声明如下:classMyClass{intn;public:MyClass(intk):n(k){}intgetValue()const{returnn;}};在下列数组定义中正确的是
有如下4个语句: ①count<<’A’<<setfill(’x’)<<left<<setw(7)<<’B’<<endl; ②count<<setfill(’x’)<<left<<setw(7)<<’A’<<’B’<<endl; ③cou
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下类定义: class AA { int a; public: int getRef()const{return &a;} //① int getValue()const{
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是
下列有关抽象类和纯虚函数的叙述中,错误的是
下列叙述中正确的是
随机试题
行政处罚只能()。
肩袖损伤的MRI表现是
ABO溶血多发生于下列哪种血型情况
以下除哪项外均为脱疽的特点:
A.代谢性酸中毒B.代谢性碱中毒C.急性呼吸性酸中毒D.急性呼吸性碱中毒E.慢性呼吸性酸中毒原发PCO2降低
原发性肾病综合征患者,若病理类型为微小病变型,首选的治疗药物是
《增值税纳税申报表》第八项“免税货物及劳务销售额”栏,应填写()。
政府从私人部门获得的强制性资金转移是指()。
我国中小学课程包含()
观察下列各式:55=3125.56=15625,57=78125,…,则52011的末四位数字为___________。
最新回复
(
0
)