首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2020-10-21
38
问题
请使用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;classPoint{public:Point(intxx=0,intyy=0):x(xx),y(yy){}voidSe
下列选项中,错误的C++表达式是()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*ar,intn)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:OK注意:错误的语句在//******error******的下面,修改该语句即可。#include<iostre
两个或两个以上的模块之间关联的紧密程度称为()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。补充函数convert(longs,long*str),使之从低位开始取出长整型变量S中奇数位上的数,依次存放在数str中。例如,当S中的数为:7654321时,str中
下列符号中,正确的C++标识符是()。
在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。
随机试题
滤线栅切割效应的因果关系在于
行政复议机关发现具体行政行为所依据的法律规范不合法,而本机关又无权处理的,应()。
对出入境的旅客、员工个人携带的行李和物品,可不实施卫生处理。( )
证券投资基金所支付的费用包括()。Ⅰ.基金交易费Ⅱ.基金运作费Ⅲ.基金托管费Ⅳ.基金销售服务费
下列有关生物工程的说法,正确的是()。
A、 B、 C、 D、 B第一组中三个图角度数依次为90°,180°,270°,构成等差数列,第二组图同理,字的笔画数依次为3,5,(7),选B。
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数move(int*a,intn)用于整理数组a[]的前n个元素,使其中小于0的元素移到数组的前端,大于0的元素移到数组的后端,等于0的元素留在数表中间。
下面是关于Pentium微处理器芯片内通用寄存器的叙述,其中错误的是
Whereistheheadquarter?
A、Persuadethewomantobeapolicewoman.B、Findasuitablejobforthewoman.C、Helpthewomantobeatourguide.D、Provideth
最新回复
(
0
)