首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
38
问题
有如下程序:
#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全国计算机二级
相关试题推荐
在数据库设计中,将E-R图转换成关系数据模型的过程属于
下面程序的运行结果是______。#include<iostream.h>voidmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k]!=
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为()。
软件设计模块化的目的是【】。
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
在下面程序横线处填上适当内容,以使该程序执行结果为4.4。#include<iostream>usingnamespacestd;template<typenameT>Taverage(T*datA)
关于函数中的,下列表述中错误的是()。
下面关于友元的叙述正确的是( )。
随机试题
元素是具有相同()的同一类原子的总称。
资本主义社会为自身被新的社会制度所取代准备的物质条件是()
脑损伤在碎片被清除后留下的缺损主要靠下列何种组织成分充填
女性,24岁,主诉人工流产术后4个月,阴道不规则流血1个月。妇检:外阴正常,阴道侧前壁1cm×2cm×2cm紫色结节。子宫稍大,左角处稍软,HCG阳性。最可能诊断为
骨牵引时牵引针孔处应
用于全身麻醉的诱导和维持、中到重度癌性疼痛治疗的强阿片类的药物是()。
科技的发展、经济的振兴以及整个社会的进步都取决于()。
1895年,在江苏南通创办大生纱厂的是()。
在下列备项中,不会对投资项目内含报酬率指标产生影响的因素是()。
FemaleRelationshipsA)Severalnewbooksandfilmsexplorethecomplexrelationshipsbetweenwomen.LucyScholesexplainswhyan
最新回复
(
0
)