首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
20
问题
有如下程序:
#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://jikaoti.com/ti/ovW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下叙述错误的是
设有定义:doublea[10],*s=a;以下能够代表数组元素a[3]的是()。
给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26846。请在程序的下划线处填入正确的内容并把下
若有定义语句:inta[2][3],*p[3];则以下语句中正确的是()。
在具有2n个结点的完全二叉树中,叶子结点个数为
下面不属于需求分析阶段任务的是
在数据库系统中,给出数据模型在计算机上物理结构表示的是
将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和
以下关于C语言函数参数传递方式的叙述中正确的是()。
重载的流运算符函数应该被定义为类的【】函数。
随机试题
泵的切换方法是什么?
A、 B、 C、 D、 C
把理念当作世界万物的本原属于()
试述肺炎链球菌肺炎、金黄色葡萄球菌肺炎、支原体及衣原体肺炎的抗生素治疗原则。
下列各项中,不属于阳明腑实证临床表现的是
对于非收发货人或其代理人原因造成少征或漏征税款的,海关可以自缴纳税款或者货物放行之日起3年内予以追征。()
标记为L字的中国签发的签证为()
下列叛乱民族不同于其他三项的一项是()。
AdvertisingI.Thedefinitionofadvertising—(1)______butencouragingpresentationofgoodsand(1)______servicesII.The
ComeSeptember,thecampusesofAmericawillbeswarmingnotjustwithreturningundergraduates,butalsowithemployersseton
最新回复
(
0
)