首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的
admin
2019-05-29
32
问题
请使用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全国计算机二级
相关试题推荐
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 C线性表是一种线性结构,由n(n≥O)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以C是错误的。
2首先声明为private的“private:intj;”中j为私有成员。然后在类中没有指定,系统默认为私有。即“inti:”中的i也是私有成员。所以本题中的私有成员数量为2。
A、 B、 C、 D、 A本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin输入流对象会将空白符、回车符、tab键作为终止标志,所以输入Ahcdefgabcd得到的字符串长度为7。
A、 B、 C、 D、 C所谓的算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
基类对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用基类的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。所以本题填:基类。
参照完整性关系模型的完整性规则是对关系的某种约束条件,它允许定义三类数据约束,分别是:实体完整性、参照完整性及自定义完整性,其中前两种完整性约束由关系数据库系统自动支持。
有如下两个类声明classAA{public:intm;};classBB:protectedAA{intn;};在类BB中,数据成员m的访问属性是_____,数据成员n
下列关于栈的叙述中,正确的选项是()。
下列字符串中可以用作C++语言标识符的是
随机试题
马克思主义哲学的精髓是()
OR值是哪种流行病学研究方法用来评价暴露与疾病关系的指标
背景我国南方某新建机场地处长江岸边,飞行区等级为4C。在机场建设期间发生了以下事件:事件一:在土方工程挖填前,施工单位对场地进行了较为彻底的清理;事件二:在浇筑水泥混凝土前,施工单位浇筑了1000m2的试验段;事件三:在第一次浇筑水泥混凝土时,由于
在借贷记账法下,采用发生额试算平衡时,试算平衡的公式是()。
以下关于贸易术语变形,表述正确的有()。
下列各项中,属于法律事实的有()。
小刘(北京人)由于触犯法律被判处缓刑,在社区矫正,缓刑期间由于老家的父母(住在山西)需要人员照顾,所以小刘想回山西居住好照顾父母,下说法不正确的是()。
交换价值与价值之间的关系是
Wecanengageourselveswithmusicasacomposer,performer,orlistener.Asalistener,werespondto【C1】______ofreceptivity.
Itwasoncethoughtthatairpollutionaffectedonlytheareaimmediatelyaroundlargecitieswithfactoriesand/orheavyautomo
最新回复
(
0
)