首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
43
问题
有如下程序:
#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://www.kaotiyun.com/show/PFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
有如下程序:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout.fill(’*’);cout<<left<<setw(4)<<123<<"OK"<<en
程序执行后的输出结果是()。#include<iostream.h>voidmain(){charflag=’c’;switch(flag){case’a’:cout<<’’1’’<<
下列枚举类型的定义中,包含枚举值3的是()。
下列描述中错误的是
负责数据库中查询操作的数据库语言是
下列字符串中,不可以用作C++标识符的是()。
有如下类定义:ciassA{char*a:public:A0:a(0){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间a=_________;strcpy(a,a
在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()。#includewildmajn(){in!*p,*q,a,h;p=&a;coutp;
随机试题
增值税一般实行( )课征,避免重复征税。
根据车辆购置税暂行条例的规定,下列车辆可以减免车辆购置税的有( )。
下列关于还款可能性分析中,说法不正确的是()。
一个梯子靠墙摆放,顶端距离地面高度为5米。如果将其底部朝着墙移动1米,则顶端高度也将上升1米。此时梯子底部与墙面距离为()。
在一般情况下,政府实施最高限价可能产生的结果或问题有()。
教学原则是有效进行教学必须遵循的()。
或者被告是有罪的,或者他是疯子;如果他有罪,则他应该被处死;如果他是疯子,则他应该永远接受住院治疗;如果证据不够有力,则被告不应该被处死。现知,证据不够有力。那么根据已知条件可以推知:
设函数f(u)具有2阶连续导数,z=f(excosy)满足若f(0)=0,f’(0)=0,求f(u)的表达式.
某台计算机的速度比改进前提高了10倍,但它仅在50%的时间内可用,这样一来它的总加速比为()。
He______himselfbitterlyforhismiserablebehaviorthatevening.
最新回复
(
0
)