首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
54
问题
有如下程序:
#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://www.kaotiyun.com/show/fIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
数据结构中,与所使用的计算机无关的是数据的
下面程序的运行结果是______。#include<iostream.h>voidmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k]!=
关于成员函数特征的下述描述中,()是错误的。
关于友元的概念错误的是()。
对于模板定义关键字class和typename说法不正确的是
下列程序是用来判断数组中特定元素的位置所在,则输出结果为#include<conio.h>#include<iostream.h>intfun(int*s,intt,int*k){i
对于语句cin>>x中的各个组成部分,下列叙述中错误的是
关于函数中的,下列表述中错误的是()。
随机试题
与CT噪声无关的因素是
下列哪项不属于八纲辨证的内容
足月婴儿出生时全身皮肤青紫,Apgar评分为3分。查体:昏迷,反射消失,肌张力低下,心率慢,呼吸不规则,诊断为缺氧缺血性脑病,临床分度为
胃内漂浮片剂属()
耐热钢、低温钢、耐蚀钢的焊接可选用中硅或低硅型焊剂配合相应的( )焊丝。
事业单位的会计报表,包括()。
某有限责任公司作出公司合并决议后,即依法向债权人发出通知书,并予以公告。根据公司法律制度的规定,该公司债权人在法定期间内有权要求公司清偿债务或者提供相应的担保。该法定期间为()。
下列各项中,注册会计师在记录已实施审计程序的性质、时间安排和范围时,应当记录的内容有()。
在某次调查中,有高达2/3的受访者认为目前影响安全感的最重要的因素是收入高低。分析不同收入人群的安全感,发现月收入在3000~6000元的人群,安全感要明显低于月收入6000~8000元的人群。因此,收入越低,安全感越低。以下哪项如果为真,不能削弱上述观点
证明:=(a一b)3.
最新回复
(
0
)