首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
21
问题
有如下程序:
#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://jikaoti.com/ti/hkt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果为#include<iostream.h>classA{intnum;public:A(int){num=i;}A(ABm){num=a.n
关于成员函数特征的下述描述中,()是错误的。
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为()。
在关系模型中,把数据看成一个二维表,每一个二维表称为一个【】。
软件危机出现于60年代末,为了解决软件危机,入们提出了【】的原理来设计软件,这就是软件工程诞生的基础。
关于this指针的说明不正确的是
软件工程研究的内容主要包括【】技术和软件工程管理。
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
下列叙述中,不属于测试的特征的是
若需要利用形参直接访问实参,则应把形参变量说明为( )参数。
随机试题
心理科学体系中的基础学科是()
造血系统疾病患者拔牙时,错误的是
在竖直角观测中,盘左读数为L=112°15’00",盘右读数R=247°44’38",则指标差X应为()。
单独或合计持有公司()以上股份的股东请求时,应当在两个月内召开临时股东大会。
某企业是国内著名白酒企业,经过分析发现白酒行业已趋于饱和,行业内部竞争异常激烈,行业集中度增加。2009年该企业明确了企业新的发展战略,根据该战略,该企业决定进军汽车制造业。根据市场预测分析,该企业计划生产的汽车产品共有四种,分别为甲、乙、丙、丁。无论生产
上市公司非公开发行股票,应当符合的规定有()。
个体倾向于利用自己身体或内部参照作为信息加工依据的学习风格是()
批林批孔
设二次型f(χ1,χ2,χ3)=(a-1)χ12+(a-1)χ22+2χ32+2χ1χ2(a>0)的秩为2.(1)求a;(2)用正交变换法化二次型为标准形.
一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是
最新回复
(
0
)