首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义
请打开考生文件夹下的解决方案文件proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义
admin
2018-07-06
15
问题
请打开考生文件夹下的解决方案文件proj2,该工程中包含程序文件main.cpp,其中有类Mammal(“哺乳动物”)、类Elephant(“大象”)、类Mouse(“老鼠”)的定义和主函数main的定义。请在横线处填写适当的代码并删除横线,以实现上述定义。此程序的正确输出结果应为:
ELEPHANT
MOUSE
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
enum category{ENPTY,ELEPHANT,NOUSE);
char*output[ ]={"ENPTY","ELEPHANT","NOUSE"};
class Marrlitlal
{
public:
Nammal(char*str)
{
//*******found*******
name=new_______
strcpy(name,str);
}
virtual char*WhoAmI( )=0;
virtual~Nammal( ){
delete[ ]name;}
void Print( ){cout<<WhoAmI( )<<endl;}
private:
char*name;
};
class Elephant:public Nammal
{
public:
//*******found*******
Elephant(char*str):_______{}
char*WhoAmI( ){return output[ELEPHANT];}
};
class Nouse:public Nammal
{
public:
Mouse(char*str):Mammal(str){}
//*******found*******
char*WhoAml( ){_______}
};
int main( )
{
//*******found*******
Mammal*pm=new_______("Huanhuan");
pm->Print:( );
delete pm;
pm=newNouse("Micky");
pm->Print( );
delete pm;
return0;
}
选项
答案
(1)char[strlen(str)+1]; (2)Mammal(str) (3)return output[MOUSE]; (4)Elephant
解析
(1)主要考查分配空间,程序要给name分配空间,由下一条语句中strcpy(name,str)可知程序要把字符串str复制给name,因此要分配的空间大小为strlen(str)+1。
(2)主要考查考生对构造函数的掌握,因为Elephant类是Mammal类的派生类,所以其构造函数要使用成员列表先对Mammal类初始化。
(3)主要考查考生对枚举类型的掌握,先看程序:enum category{EMPTY,ELEPHANT,MOUSE}。再参考Elephant类中的WhoAmI函数:char*WhoAmI( ){return output[ELEPHANT];}。可知这里要填写的返回语句为:return output[MOUSE];。
(4)主要考查考生对派生类的掌握,题目要求输出:
ELEPHANT
MOUSE
可知,要先调用Elephant类的WhoAmI函数,因此给指针pm分配Elephant类空间。
转载请注明原文地址:https://kaotiyun.com/show/kAAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设R是一个2元关系,S是一个3元关系,则下列运算中正确的是()。
将x=y*z中的“+”用成员函数重载,“*”用友元函数重载应写为______。
C++语言中关于构造函数的说法正确的是()。
已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为i-1的单元,其中1≤i<n。例如,当n=4,a中原有数据为1、2、3、4时,则移动后a中元素为2、3、4、4。请将语句补充完整:for(inti=0;i<n-1;i++)
有如下程序#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout<<setprecision(3)<<f
下列对派生类的表述中,错误的是()。
已知n是一个int型变量,下列语句中错误的是()。
数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为______。
下列程序用于将源文件中的字母进行大小写转换,while的条件是______。#include<iostream.h>#include<fstream.h>#include<iomanip.h>voidmain()
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
随机试题
通常情况下,使用高压锅可以大大缩短食物的烹煮时间,节约能源。下列对其所用物理原理的解释正确的是:
下列病证中,不宜选用川芎的为
复合树脂充填时首选基底料A.氧化锌丁香油水门汀B.磷酸锌水门汀C.玻璃离子水门汀D.牙胶E.护洞漆
在麻痹性痴呆中最典型的类型是
医院分级管理标准中,医院分级的依据中不包括
A.中性粒细胞B.巨噬细胞C.浆细胞D.NK细胞E.B细胞可递呈抗原,活化后又可分泌抗体的免疫细胞是
根据药典、局颁标准或其他规定的处方,将原料药物加工制成具有一定规格的制品,称为
骨料因干湿或冻融交替等作用引起体积变化而导致混凝土破坏的性质,称为骨料的()。
下列关于作曲家、国籍及作品表述正确的一组是()
2l,27,40,62,96,147,()
最新回复
(
0
)