首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2019-05-29
41
问题
请使用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全国计算机二级
相关试题推荐
已有函数fun(a,b),为了使函数指针变量p指向函数fun,则使用的赋值语句是_________
A、 B、 C、 D、 Dthis指针是成员函数所属对象的指针,它指向类对象的地址;它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象:静态成员函数没有thi
构造函数构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。
A、 B、 C、 D、 Apb作为基类指针,可以指向派生类对象,但是它只能访问基类的成员函数,而不能访问派生类的成员函数,所以pb->show();访问的是基类的show()函数,故打印10,20。
A、 B、 C、 D、 A由于线性表采用的是顺序存储方式,用存储单元的邻接性体现线性表元素间的一维顺序关系,因此对线性表进行插入和删除运算时,可能需要移动大量的结点,以保持这种物理和逻辑的一致性。对于选项A)
下列选项中,不属于面向对象程序设计特征的是A)继承性B)多态性C)类比性D)封装性
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
C++语言中类的定义的结束声明的符号是
随机试题
震旦系沉积地层是指()。
手术治疗是目前唯一有可能根治胃癌的方法,治疗效果取决于胃癌的病期、癌肿侵袭深度和扩散范围。
以下属于颞下颌关节急性前脱位内源性因素的是()
某施工单位在基坑作业过程中,降水作业不连续而导致临近2栋民宅基础塌陷,结构出现裂缝;为此居民要求施工单位承担责任,此债务发生的依据是()。
账务处理程序是指()相结合的方式。
绩效考评的效标主要包括()。
下列生活常识说法错误的是()。
Ontheotherhand,whenoneisseatedataconferencetablebeforeameetingoratadinnerwithapersonwhosegoodregardmust
软件是指
在软件开发中,需求分析阶段产生的主要文档是
最新回复
(
0
)