首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
43
问题
有如下程序:
#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全国计算机二级
相关试题推荐
若变量都己正确说明,则以下程序段()。#includemain(){inta=8;intb=6;printf(a>b?"&&&a=%d":"!!!b=%d",a,b);}
给定程序MOD11.C中,函数fun的功能是判断整数n是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。例如:6的因子包括l、2、3,而6=1+2+3,所以6是完数。如果是完数,函数返回值为1,否则函数返回值为0。数组a中存放
有两个关系R、S如下:由关系R通过运算得到关系S,则所使用的运算为()。
软件测试的目的是()。
在E-R图中,用来表示实体的图形是
软件测试的目的是
数据流图中带有箭头的线段表示的是( )。
数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
类模板的模板参数()。
二叉树由三个基本单元组成,即左子树,右子树和【】。
随机试题
小隐静脉
Oneoftheworld’soldestandmostfamousstatuesmaynot【C1】______muchlongerunlessstepsare【C2】______tosaveit.Thehugef
关于盾构初始掘进的主要任务,以下说法正确的是()。
商业银行开展个人理财业务有下列哪些情形时,银行业监督管理机构可依据《中华人民共和国银行监督管理法》和《金融违反行为处罚办法》的相关规定,对直接负责的董事、高级管理人员和其他直接责任人员进行处理,构成犯罪的,依法追究刑事责任()。
在考查信息质量的时候,强调只有对决策有帮助的信息才应保留,以便使用者更容易地做出有效的定案属于信息的()。
并非直接涉及科学技术的东西才是科普。科学的核心是理性,是实验,是对事实和数据的反复_______,是无禁区的探索,是在自然的铁的定律面前,人人平等,无一例外。这个东西,是中国人的生活习惯中比较_______的。填入画横线部分最恰当的一项是:
Wesuspectthereisaquitedeliberateattempttosabotagetheelectionsandunderminetheelectoralcommission.
Etiquettetoasocietyiswhatapparelistotheindividual.Withoutapparelmenwouldgoinshamefulnuditywhichwouldsurely
Ifwestartrightnow,wemightjust______catchtheplanetoLondon.
TheCaseforKillingGrannyA)Mymotherwantedtodie,butthedoctorswouldn’tlether.Atleastthat’sthewayitseemedtome
最新回复
(
0
)