首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2015-07-22
24
问题
有如下程序:
#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/YANp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于break语句的叙述不正确的是()。
以下程序段的执行结果是()。inta,y:a=l0;y=10do{a+=2;y+=a;cout<<"a"="<<a
带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样对虚基类的子对象初始化
设有语句:charstr1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是
在关系模型中,
若有如下程序段:#include<iostream>usingnamespacestd;intmain(){char*p="abcdefgh",*r;long*q;q=(long
下列运算符中,在C++语言中不能重载的是
将E—R图转换为关系模式时,实体和联系都可以表示为
若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需“要使用的存储类别是()。
当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
随机试题
下列关于银行存款余额调节表的审计程序中,错误的是()。
下列关于董事会的说法中,不正确的是()
女性患者,甲状腺功能亢进病史7年,心悸,心电图显示房颤心律,该患者心脏听诊可见
患者,男性,18岁,上呼吸道感染后1天突发肉眼血尿,查尿常规:蛋白(++),尿RBC15~20/HP,24小时尿蛋白定量1.5g,血压120/70mmHg,血肌酐80μmol/L。为明确诊断,该患者最需要进行的检查是
下列各项中,“销售费用”账户所属的类别是()。
下列属于合规管理的基本原则的是()。I.独立性原则Ⅱ.客观性原则Ⅲ.公正性原则Ⅳ.协调性原则
事实劳动关系中劳动者的权益受()的保护。
在使用电子媒介沟通时,不能忽视()。
简述宋代陶瓷史上的五大名窑。
面对新时代新使命,广大公安民警必须牢固树立全心全意为人民服务的宗旨意识,坚持服务人民的立警之本,把公安工作深深扎根于人民群众。下列民警行为不符合上述要求的是()。
最新回复
(
0
)