首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
22
问题
有如下程序:
#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全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
以下选项中不能作为C语言合法常量的是()。
下面描述不属于软件特点的是
下面不属于需求分析阶段任务的是
某二叉树的中序遍历序列为CBADE,后序遍历序列为CBEDA,则前序遍历序列为()。
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。请在程序的
下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。例如,程序运行后,输入0.0001,则程序输出3.1414。请改正程序中的错误,使它能得出正确的结果。注意:不要改动mai
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
在进行函数调用时,将把参数的【】传递给值参,把参数的【】传递给引用参数。
随机试题
下列各项中,不属于法定孳息的有()。A.租金B.牛奶C.利息D.股息
关于驾驶员应慎用的药物及防范措施,下列说法正确的是
根据我国《建设工程勘察设计企业资质管理规定》,工程勘察综合资质()。
ABC公司无优先股,并且当年股数没有发生增减变动,年末每股净资产为5元,权益乘数为4,资产净利率为40%(资产按年末数计算),则该公司的每股收益为()。
甲公司主要从事家电产品的生产和销售。ABC会计师事务所负责审计甲公司2013年度财务报表。审计项目组在审计工作底稿中记录了与存货监盘相关的情况,部分内容摘录如下: (1)审计项目组拟不信赖与存货相关的内部控制运行的有效性,故在监盘时不再观察管理层制定的盘
(2017·内蒙古)《中小学教师职业道德规范》中强调()是教师职业的基本要求。
你认为金钱、名誉、事业哪个更重要?
关于社会主义改造正确的有()
求A的特征值.
与十六进制数CD等值的十进制数是________。
最新回复
(
0
)