首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2019-05-29
45
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为:
ELEPHANT
MOUSE
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
enum category {EMPTY, ELEPHANT,MOUSE);
char*output[]={“EMPTY”,”ELEPHANT“,”MOUSE”);
clas S Mammal
{
public:
Mammal(char*str)
{
//**********found**********
name=new________
strcpy(name,str);
}
virtual char*WhoAmI()=0;
virtual~Mammal(){delete[]name;
}
void Print(){cout<
endl;}
private:
char*name;
};
class Elephant:public Mammal
{
public:
//********** found**********
Elephant(char*str):_______{}
char*NhoAml(){return output[ELE
PHANT];)
};
class Nouse:public Narnmal
{
public:
Nouse(char*sir):Nammai(str){}
//**********found************
char*WhoAml(){——)
};
int main()
{
//**********found************
Nammal*pm=new____(“Huan
huan”);
pm一>Print();
delete pm,
pm=new Nouse(“Micky”);
pm一>Print();
delete pm;
return 0;
}
选项
答案
(1)char[strlen(str)+1]; (2)Mammal(str) (3)retum output[MO[ISE]; (4)Elephant
解析
本题考查的是Mammal类及其派生类Elephant和Mouse,其中涉及动态数组、纯虚函数、构造函数和析构函数。动态数组往往伴随着分配和释放空间,使用new语句分配空间,使用delete语句释放空间。
【解题思路】
(1)主要考查分配空间,程序要给nalne分配空间,由下一条语句中strcpy(name,str)可知程序要把字符串str复制给name,因此要分配的空间大小为strlen(str)+1。
(2)主要考查考生对构造函数的掌握,因为Elephant类是Mammal类的派生类,所以其构造函数要使用成员列表先对Mammal类初始化。
(3)主要考查考生对枚举类型的掌握,先看程序:enum
category{EMPTY,ELEPHANT,MO[JSE}。再参考Elephant类中的WhoAmI函数:char木WhoAmI(){retum output[EL广EPHANT];}。可知这里要填写的返回语句为:return output[MOUSE];。
(4)主要考查考生对派生类的掌握,题目要求输出:
ELEPHANT
MOUSE
可知,要先调用Elephant类的WhoAmI函数,因此给指针pm分配Elephant类空间。
转载请注明原文地址:https://www.kaotiyun.com/show/tB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B此题考查的是构造函数。如果一个类中没有定义任何构造函数,编译器将生成一个不带参数的公有缺省构造函数。但只要定义了一个任意的构造函数,就不会生成缺省构造函数了。
A、 B、 C、 D、 A本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin输入流对象会将空白符、回车符、tab键作为终止标志,所以输入Ahcdefgabcd得到的字符串长度为7。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 D本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则:①改进软件结构,提高模块独立性。通过模块的分解或合并,力求
A、 B、 C、 D、 C所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
有如下程序:#include<iostream>usingnamespacestd;classtest{private:inta;public:test(){cout<<"c
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
患者,女,16岁,未婚。以往月经不规律,停经4个月,20天前月经来潮,开始量少,2天后经量增多,至今量未见减少,色深红,质稠,口干烦热,大便干结,舌红,苔黄,脉洪数。B超检查:子宫附件未见异常,其证型是
A.风痰B.寒痰C.热痰D.燥痰E.湿痰痰黄质稠属于()
某企业因生产规模扩大,需要占用土地15公顷,其中5公顷为基本农田,10公顷为耕地。根据农用地分等成果,占用耕地为7等地,补充耕地经整理验收为5等地,5等地和7等地的粮食生产能力分别为1000kg和800kg。下列关于该地块补充耕地数量的说法正确的是(
职工生病住院,企业用现金支付职工的住院应报销医药费时,应()。
ISO9000:2000标准所给出的质量管理体系模式图中所确定过程中与产品实现相邻的过程为()。
根据埃里克森对于人类发展阶段的分析,成年早期阶段面临的主要冲突是()。
以下属于迁移现象的有()。
公安机关维护社会治安的任务,主要是通过公安领导工作实现的。()
视图设计器中比查询设计器中多出的选项卡是()
WhywasRobertFletchersuingartistPeterDoig?
最新回复
(
0
)