首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
39
问题
有如下程序:
#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全国计算机二级
相关试题推荐
在下面的运算符重载函数的原型中,错误的是
有类定义如下:classType{public:Type(inti=0);Typeoperator-(int);friendTypeoperator+(Type,Type);privat
已知数组arr的定义如下:intarr[5]={1,2,3,4,5}、下列语句中输出结果不是2的是
有如下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{ int a,b;public
已知类Myclass的定义如下:classMyClass{public:MyClass(intD){data=d;}~MyClass(){}private:intdata;};下列对
有如下类定义:classAA{inta;public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)______};
下列关于C++函数的叙述中,正确的是
针对数组定义int data[10];,下列表述中错误的是
随机试题
根据我国刑法第17条第2款的规定,已满14周岁不满16周岁的人,可以构成的犯罪包括()
标志着欧洲联盟正式成立的条约是()。
骨盆入口平面最小的径线是()
主治痈肿疔疮、湿疹、蛇伤的药物是
法律关系客体是一定利益的法律形式,是指法律关系主体之间权利和义务所指向的对象。下列哪些选项不能作为法律关系客体?()
下列有关预算定额的作用的叙述,错误的是()。
按照《2000年通则》的规定,以FOBST贸易术语的变形成交,买卖双方风险的划分界限是()
某企业打算投资购买股票,现有A、B两种股票可供选择。已知A、B两种股票各种可能的投资收益率以及相应的概率如下表所示:要求:根据上述计算结果,企业应该选择哪一种股票?
下列不属于物理设计的内容是
Whichisthemostpossiblereasonforsuchadisaster?
最新回复
(
0
)