首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2021-05-06
46
问题
有如下程序:
#include
using namespace std;
class B {
public:
virtual void show() { cout<<"B"; }
};
class D: public B {
public:
void show() { cout<<"D"; }
};
void fun1(B *ptr) { ptr->show(); }
void fun2(B &ref) { ref.show(); }
void fun3(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/PFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#inc1ude<iostream>usingnamespacestd;classXA{inta;public:staticintb;XA(intaa):a
下列关于二叉树的叙述中,正确的是()。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
下列关于类模板的模板参数的叙述中,错误的是()。
已知主函数中通过如下语句序列实现对函数模板swap的调用:inta[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是()。
下列关于软件工程的描述中正确的是()。
一个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是()。
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。
对于循环队列,下列叙述中正确的是()。
随机试题
“黄粱一梦”出自()
NewAnnotatedSherlockHolmesbyArthurConanDoylePrice:£28.00PublicationDate:30/11/2009Publisher’sdescrip
A.1000-2000mlB.3000-5000mlC.不少于2000mlD.不少于6000mlE.不少于7000ml大肠癌术前全肠道灌洗液量()
根据《中华人民共和国广告法》,可做广告的药品是
银行存款余额调节表,银行对账单应当保存()
关于投资性房地产转换日的确定,下列说法中正确的有()。
如图,正方体的底面与正四面体的底面在同一平面α上,且AB∥CD,正方体的六个面所在的平面与直线CE、EF相交的平面个数分别记为m、n,那么m+n=().
[*]
若数列(a1+a2)+(a3+a4)+…+(a2n-1+a2n)+…发散,则级数an___________。
设A是n阶矩阵,P是n阶可逆矩阵,n维列向量α是矩阵A的属于特征值λ的特征向量,那么在下列矩阵中①A2;②P-1AP;③AT;④。α肯定是其特征向量的矩阵个数为()
最新回复
(
0
)