首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include #include using namespace std; class Publication{ public: Publication(string n="Unknown")
有如下程序: #include #include using namespace std; class Publication{ public: Publication(string n="Unknown")
admin
2017-02-18
23
问题
有如下程序:
#include
#include
using namespace std;
class Publication{
public:
Publication(string n="Unknown"):name(n){}
const string getName()const{return name;}
virtual const string getType()const{return"Unknown";}
private:
string name;
};
class Book:public Publication{
public:
Book(string name):Publication(name){}
virtual const string getType()const{return"Book";}
};
void showPublication(Publication&p){
cout<
}
int main(){
Book book("C++");
showPublication(book);
return 0;
}
运行时的输出结果是( )。
选项
A、Book:C++
B、Book:Unknown
C、Unknown:C++
D、Unknown:Unknown
答案
A
解析
C++中,多态调用必须满足两个条件:被调用的成员函数是虚函数;必须通过基类类型的引用或指针进行函数调用。
题意的main()函数中首先定义一个Book类对象,对象名为book,在构造book对象时,程序过程如下:首先调用Book类的构造函数,传入参数“C++”,在构造函数执行函数体前,再调用基类Publication的默认构造函数:传入字符串“C++”,基类构造函数在成员初始化列表中,使用传入的参数“C++”为name赋值;此时继承于基类的成员:name存放字符串“C++”。
然后main()函数调用showPublication()函数,传入book对象:showPublication()函数接收Publication类对象的引用p,然后调用p.getType()和p.getName()输出。由于getType()成员函数属于虚函数,p属于基类对象的引用,所以通过p调用getType()函数满足多态调用,执行p实际引用对象类型的getType(),即Book类的getType(),输出:“Book”;而getName()不是成员函数,所以不满足多态调用,执行基类的成员函数getName(),输出name:“C++”。综上,程序输出:Book:C++。本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/fIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据结构中,与所使用的计算机无关的是数据的
下面程序的运行结果是______。#include<iostream.h>voidmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k]!=
关于成员函数特征的下述描述中,()是错误的。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
数据模型按不同应用层次分成3种类型,它们是概念数据模型、【】和物理数据模型。
【】是数据库设计的核心。
开发一个C++语言程序的步骤通常包括编辑、【】、链接、运行和调试。
对于语句cin>>x中的各个组成部分,下列叙述中错误的是
下列叙述中,错误的是()。
C++语言标识符是以字母或______开头的,由字母,数字和下划线组成的字符串。
随机试题
某公司销售部门主管大华拟对本公司产品前两季度的销售情况进行统计,按下述要求帮助大华完成统计工作:打开考生文件夹下的工作簿“Excel素材.xlsx”,将其另存为“Excel.xlsx”,后续操作均基于此文件。
在展览会的类型中,国际博览会属于()
鼠疫耶尔森菌(鼠疫杆菌)的传播媒介是
对于有限电源供给短路电流,一般发电机的强励顶值倍数在制定运行曲线时取1.8,当机组励磁方式有较大差距,时应考虑修正的倍数为多少?
为了解决超额累进税率计算复杂的问题,其税率表中一般规定有()。
设矩阵A=且A3=0.若矩阵X满足X-XA2-AX+AXA2=E,其中E为三阶单位矩阵,求X.
设三阶矩阵A的特征值为λ1=一1,,其对应的特征向量为α1,α2,α3,令P=(2α3,一3α1,一α2),则P-1(A-1+2E)P=___________.
Formostofhumanhistoryrichpeoplehadthemostleisure.Ontheotherhand,thepoorhavetypicallyworkedpersistently.Hans
TheGreatestMysteryofWhalesThewhaleisamammal(哺乳动物)-warm-blooded,air-breathing,givingbirthtoitsyoungalive,
A.acceptB.unquantifiableC.useD.whatE.purchasedF.consumedG.encouragedH.climbingI.predictablyJ.actually
最新回复
(
0
)