首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2019-05-29
34
问题
请使用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://kaotiyun.com/show/tB8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
false此题考查的是逻辑常量。在c十+语言中只有两个逻辑常量:true和false。故本题应填入false。
A、 B、 C、 D、 C派生类的构造函数定义的一般格式为:派生类名(参数总表):基类名(参数表){派生类新增数据成员的初始化语句}在生成对象b时,就自动给基类构造函数传递实参1
A、 B、 C、 D、 Ccin是istream输入流类的派生类istream_withassign对象。cout是ostream输出流类的派生类ostream_withassign对象。
A、 B、 C、 D、 Cfun()的第一个参数是传值调用,第二个是传址调用,故在函数中修改形参的值会被传回到实参中,故结果为0和2。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
自顶向下程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
A、 B、 C、 D、 D线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
Bythetimethewar______,mostofthepeoplehadalreadyleft.
A.梗死B.淤血C.二者均有D.二者均无
A.脑血管意外B.心肌梗死C.心力衰竭D.尿毒症E.休克急进型高血压患者死因多为
腹部闭合性损伤最常见的实质性脏器为()。
工作记忆中为了保持信息,运用内部语言在大脑中重现学习材料或刺激,以便将注意力维持在学习材料上的方法称为()。
Aspokesmansaidthatthepeoplehadgreatly______thepollution.
1981年通过《关于建国以来党的若干历史问题的决议》的会议是()。
树的度是指()。
Ilya_____soleilaujourd’hui.
【1】【7】
最新回复
(
0
)