首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include #include using namespace std; class Animal{ public: virtual string
有如下程序: #include #include using namespace std; class Animal{ public: virtual string
admin
2015-07-22
30
问题
有如下程序:
#include
#include
using namespace std;
class Animal{
public:
virtual string GetType() const { return "Animal"; }
virtual string GetVoice() const { return "Voice"; }
};
class Dog:public Animal{
public:
string GetType() const { return "Dog"; }
string GetVoice() const { return "Woof"; }
};
class Cat:public Animal{
public:
string GetType() const { return "Cat"; }
string GetVoice() const { return "Miaow"; }
};
void Type(Animal a) { cout<
void Speak(Animal a) { cout<
int main() {
Dog d; Type(d); cout<<" speak "; Speak(d); cout<<" - ";
Cat c; Type(c); cout<<" speak "; Speak(c); cout<
return 0;
}
运行时的输出结果是
选项
A、Dog speak Voice - Cat speak Voice
B、Dog speak Woof - Cat speak Miaow
C、Animal speak Voice - Animal speak Voice
D、Animal speak Woof - Animal speak Miaow
答案
C
解析
本题考查虚函数的运用,本题中定义Dog d; Type(d)时,执行基类的Type函数,输出Animal,然后输出speak,然后执行基类的Speak函数输出Voice,最后输出-,同理cat输出类似,所以结果为C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/x8Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若执行语句:cout<<setfill(’*’)<<setw(10)<<123<<’OK’<<end1后将输出
下列运算符中不能在C++中重载的是
下列有关数据库的描述,正确的是
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
程序中有如下语句for(inti=0;i<5;1++)cout<<*(p+i)<<",";能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是【】。
对如下二叉树进行后序遍历的结果为
在MyClass类的定义中,对赋值运算符二进行重载。请将画线处缺失的部分补充完整。【】MyClass::operator=(constMyClass&rhs){if(this==&rhs)return*this;
下列对队列的叙述正确的是
若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。
随机试题
关于申请专利的发明设计新的生物材料所应当办理的手续的说法错误的是()
体内药物分析在医院药学中的应用不包括
关于小舞蹈病的治疗,叙述正确的是
急性乳腺炎的主要病因
暑邪伤人可见口渴喜饮、气短乏力,是由于
患儿,女,9月龄,因高热、反复抽搐、喷射性呕吐收入院,诊断为化脓性脑膜炎。脑脊液细菌培养结果为肺炎链球菌,首选的治疗药物是
前列腺术后1周内的护理,不妥的是
沥青路面透层的作用是()。
有时速动比率小于1也是正常的,比如()。
党在民主革命时期,逐步认识到土地革命的极端重要性,形成了土地革命路线,这就是()。①依靠贫雇农②团结中农③有步骤、有分别地消灭封建剥削制度④发展农业生产
最新回复
(
0
)