首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
36
问题
有如下程序:
#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()③{④int*p=newint[1]⑤p=9⑥cout<<*p<<end1;⑦
下列关于C++函数的描述中正确的是()。
下述静态数据成员的特性中,()是错误的。
C++源晚间中包含的输入/输出头文件为()。
拷贝构造函数的参数一般是
【】是数据库设计的核心。
函数inttest(inta,intb=l,intc=0),下列调用不合法的个数是test(0);test(0,0);test();test(0,0,0);
非成员函数应声明为类的______函数才能访问这个类的private成员。
下面是复数类complex的定义,其中作为友元函数重载的运算符“--”的功能是将参数对象的实部减1,然后返回对该对象的引用;请补充完整。classcomplex{private:intreal;inti
随机试题
下列关于履带式装载机的说法中,错误的是()。
韩某和苏某共同殴打他人,致被害人李某死亡、吴某轻伤,韩某还抢走吴某的手机。后韩某被抓获,苏某在逃。关于本案的附带民事诉讼,下列哪一选项是正确的?()
甲状腺髓样癌是一种()(2001年)
A.辛味药B.酸味药C.甘味药D.苦味药E.咸味药有发汗、解热作用的药物多属于
对于水难溶性药物或注射后要求延长药效作用的药物,可制成()注射剂
继发性腹膜炎的细菌感染多是
“进口口岸”栏:()。“保费”栏:()。
根据以下资料,回答下列问题。2012年,Z省W市实现文化及相关产业增加值比上年增长9.6%。在文化产品制造业中,文化印刷、文化用品制造和工艺美术品制造三大主导行业,2012年分别实现增加值21.82亿元、11.57亿元和6.62亿元。201
党的十六大首次明确将“建设社会主义()”的思想写入党章。
The______ofthescientificattitudeisthatthehumanmindcansucceedinunderstandingtheuniverse.
最新回复
(
0
)