首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Pet{ char name[10]; public: Pet(char*name){st
有如下程序: #include<iostream> using namespace std; class Pet{ char name[10]; public: Pet(char*name){st
admin
2009-08-25
57
问题
有如下程序:
#include<iostream>
using namespace std;
class Pet{
char name[10];
public:
Pet(char*name){strcpy(this->name,name);}
const char*getName()const {return name;}
virtual void call()const=0;
};
class Dog:public Pet{
public:
Dog(char*name):Pet(name){}
void call()const{cout<<"汪汪叫":}
};
class Cat:public Pet{
public:
Cat(char*name):Pet(name){}
void call()const{cout<<"喵喵叫";}
};
int main(){
Pet*pet1=new Dog("哈克"),*pet2=new Cat("吉米");
cout<<pet1->getName();pet1->call();cout<<end1;
cout<<pet2->getName();pet2->call();cout<<end1;
return 0;
}
程序的输出结果是______。
选项
答案
哈克汪汪叫 吉米喵喵叫
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。即若基类和派生类中存在一模一样的成员函数,通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,此题中,void call()在基类中被声明为虚函数,在主函数中,语句Pet*pet1=new Dog("哈克"),*pet2=new Cat("吉米");定义了基类的指针per1和pet2,并让它们分别指向派生类对象Dog和Cat。所以通过该指针调用call()时运行的是派生类的版本,分别输出哈克和吉米;而通过该指针调用 getName()运行的是基类的版本,分别输出汪汪叫和喵喵叫。
转载请注明原文地址:https://kaotiyun.com/show/0Ejp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面不属于需求分析阶段工作的是()。
若有以下语句:typedefstruetS{intg;charh;}T;以下叙述中正确的是()。
以下关于逻辑运算符两侧运算对象的叙述中正确的是
将E-R图转换为关系模型时,实体和联系都可以表示为()。
在E-R图中,用来表示实体的图形是
函数fun的功能是:将a、b中的两个正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量e的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=12。调用该函数后,c=5241。
数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
软件测试的目的是( )。
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>classTstack
模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即()。
随机试题
首创成绩测验及其量表的心理学家是()
中国新民主主义革命的性质是
肝内胆固醇代谢的主要终产物是
洋葱皮样表现常见于
男性,20岁,食欲不振,进食少,频繁呕吐2天,精神萎靡一天来诊。体查:血糖28mmol/L,血钠140mmol/L,BUN12.9mmol/L,AST40U/L,尿酮体(++),最可能的诊断是
填制原始凭证时,符合书写要求的是()。
近期,某地公安机关侦破一起以返现为诱饵的博彩诈骗案。民警根据案情绘制关系图如下,拟通过对相关人员的关系分析,弄清陈某生在本案中所起的作用。根据该图,应重点分析的对象是:
Mostpeoplewouldbe21bythehighqualityofmedicine22tomostAmericans.Thereisalotofspecialization,agreatdealof
PeopleinthemassadvertisingbusinessandotherswhostudyAmericansocietyhavebeenveryinterestedinthequestion:Whatdo
Whatisthemainmessageofthenewsitem?
最新回复
(
0
)