首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2020-10-21
47
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为:
ELEPHANT
MOUSE
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
1 #include
2 using namespace std;
3 enum category {EMPTY, ELEPHANT,MOUSE);
4 char*output[]={"EMPTY","ELE-PHANT","MOUSE"};
5 class Mammal
6 {
7 public:
8 Mammal(char*str)
9 {
10 //**********found**********
11 name=new
12 strcpy(name,str);
13 }
14 virtual char*WhoAmI()=0;
15 virtual~Mammal(){delete[] name;
16 }
17 void Print(){cout<
18 private:
19 char*name;
20 };
21 class Elephant:public Mammal
22 {
23 public:
24 //**********found**********
25 Elephant(char*str):_______{}
26 char*WhoAmI(){return output [ELE-PHANT];}
27 };
28 class Mouse:public Mammal
29 {
30 publiC:
31 Mouse(char*str):Mammal(Str)()
32 //**********found**********
33 char*WhoAml(){___}
34 };
35
36 int main()
37 {
38 //**********found**********
39 Mammal*pm=new________("Huan-huan");
40 pm->Print();
41 deletepm;
42 pm=new Mouse("Micky");
43 pm->Print();
44 delete pm;
45 return 0;
46 }
选项
答案
(1)char[strlen(str)+1]; (2)Mammal(str) (3)return output[MOUSE]; (4)Elephant
解析
(1)主要考查分配空间,程序要给name分配空间,由下一条语句中strcpy(name,str)可知程序要把字符串str复制给name,因此要分配的空间大小为strlen(sir)+1。
(2)主要考查考生对构造函数的掌握,因为Elephant类是Mammal类的派生类,所以其构造函数要使用成员列表先对Mammal类初始化。
(3)主要考查考生对枚举类型的掌握,先看程序:enumcategory{EMPTY,ELEPHANT,MOUSE}。再参考Elephant类中的WhoAmI函数:char术WhoAmI(){return output[EL-EPHANT];}。可知这里要填写的返回语句为:return output[MOUSE];。
(4)主要考查考生对派生类的掌握,题目要求输出:
ELEPHANT
MOUSE
可知,要先调用Elephant类的WhoAmI函数,因此给指针pm分配Elephant类空间。
转载请注明原文地址:https://kaotiyun.com/show/EVyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classBase{private:voidfunl()constteout
有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx,intyy):x(xx),y(yy){}intGetxy()
下面描述正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:1,2,3,4,5,注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********3********的下
面向对象方法中,继承是指()。
为类Matrix重载下列运算符时,只能作为Matrix类成员函数重载的运算符是()。
下列有关类继承的叙述中,错误的是()。
下面关于C++流的叙述中,正确的是()。
有如下函数模板定义:templateT1Fun(T2n){returnn*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为()。
以下关键字不能用来声明类的访问权限的是()。
随机试题
锯削薄管时,不宜采用粗齿锯条。
从第一代计算机到第四代计算机的体系结构都是相同的。这种体系结构称为________体系结构。
A.教育策略B.社会策略C.环境策略D.资源策略E.传播策略创建无烟单位和无烟家庭,属于健康教育与健康促进干预的
关于地下工程导向钻进法,说法不正确的是()。
行政执法人员在遇到紧急情况时,可以当场实施行政强制措施,但是需在48小时内向行政机关报告并补办手续。()
假设有一个局域网,管理站每15分钟轮询被管理设备一次,一次查询访问需要的时间是200ms,则管理站最多可支持()个网络设备。
Howmanycomputersintheclassroom?
Whentravelerslackanawarenessof【51】timeisregulatedinaforeigncountry,theycanexpecttofeelsomewhatdisoriented.S
DorothyCrowfootHodgkinWhenDorothyCrowfootHodgkinwastenyearsold,shewatchedherfirstcrystalsformonastringda
【1】【4】
最新回复
(
0
)