首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Nouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Nouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码
admin
2021-05-06
55
问题
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,该工程中包含程序文件main.epp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Nouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为:
ELEPHANT
MOUSE
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//:****found****”。
#include
usingnamespacestd;
enHMcategory{ENPTY,ELEPHANT,NOUSE};
char*output[]={"ENPTY","ELEPHANT","NOUSE");
classMammal
{
public:
Nammal(char*str)
{
//**********found**********
name=new________
strcpy(name,str);
}
virtualchar*NhoAmI()=0;
virtual—Nammal(){delete[]name;
}
voidPrint(){cout<
end1;}
private:
char*name;
};
classElephant:publicNammal
{
public:
//**********found**********
Elephant(char*str):________{}
char*WhoAml(){returnoutput[ELEP[-IANT];}
};
classNouse:publicNammal
{
public:
Nouse(char*sir):Nammal(sir){}
//**********found**********
char*WhoAml(){________}
};
intmain()
{
//**********found**********
Nammal*pm=new________("Huanhuan");
pm->Print();
deletepm;
pm=newNouse("Nicky");
pm->Print();
deletepm;
return0;
}
选项
答案
(1)char[strlen(sir)+1]; (2)Mammal(str) (3)retumoutput[MOUSE]; (4)Elephant
解析
(1)主要考查分配空间,程序要给name分配空间,由下一条语句中strcpy(name,str)可知程序要把字符串str复制给name,因此要分配的空间大小为strlen(str)+1。
(2)主要考查考生对构造函数的掌握,因为Elephant类是Mammal类的派生类,所以其构造函数要使用成员列表先对Mammal类初始化。
(3)主要考查考生对枚举类型的掌握,先看程序:enumcategory{EMPTY,ELEPHANT,MOUSE}。再参考Elephant类中的WhoAmI函数:char*WhoAmI(){returnoutput[ELEPHANT];}。可知这里要填写的返回语句为:retumoutput[MOUSE];。
(4)主要考查考生对派生类的掌握,题目要求输出:
ELEPHANANT
MOUSE
可知,要先调用Elephant类的WhoAmI函数,因此给指针pm分配Elephant类空间。
转载请注明原文地址:https://www.kaotiyun.com/show/4Qfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。完成函数ToUpper(char*des,char*str),该函数实现把str字符串中小写字符转换成大写字符,并存发在des中。例如:str=’’
有如下程序:#inc1ude<iostream>usingnamespacestd;classBook{public:Book(char*t=""){strcpy(title,t);}p
将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和
在数据流图中,带有箭头的线段表示的是()。
下列叙述中正确的是
在下列关键字中,不能用来表示继承方式的是()。
若有函数模板mySwap和一些变量定义如下:()。template<classT>voidmySwap(Tx,Ty);doubled1,d2;inti1,i2;下列对mySwap的调用中,错误的是
在下列选项中,不允许作为C++标识符的是
以下选项中合法的实型常数是()。
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
随机试题
组成文化的最小单位是()
“以质取胜”战略的内容包括
下列火灾风险等级和火灾等级的对应关系正确的是()。
下列中央银行的货币政策操作中,可以使其资产增加的有()。
放弃现金折扣的成本与()。
恩格尔系数是表示居民生活水甲高低的一个指数,其值越高,表明人民的生活水平越高。()
语句“DELETEFROM成绩表WHERE计算机<60”的功能是
ChooseTWOletters,A-F.Writethecorrectlettersinboxes25and26onyouranswersheet.WhichTWOofthefollowingstatement
CrossCulturalNegotiationsIt’simportanttounderstandtheculturaldifferencesinnegotiations,asdifferentcultureshavedi
Whatisthemaintopicofthispassage?WhichJapanesecompanyhasinvestedintheU.S.?
最新回复
(
0
)