首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2019-08-23
366
问题
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。
程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hoho.
There is a black dog named Haha.
There is a motley dog named Hihi.
注意:只修改每个//ERROR ****found****下的那一行,不要改动程序中的其他内容。
#include
using namespace std;
//狗的颜色:黑、白、黄、褐、花、其他
enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER};
class Dog{//狗类
DOGCOLOR color;
char nanle[20];
static int count;
public:
Dog(char name[],DOGCOLOR color){
strcpy(this一>nalTle,name);
//ERROR **********found**********
strcpy(this一>color,color);
}
DOGCOLOR getColor()const{return color;}
//ERROR **********found**********
const char *getName()const{return *name;}
const char *getColorString()const{
switch(color){
case BLACK:return black";
case WHITE:return’’white’’;
case YELLOW:return’’yellow’’;
case BROWN:return’’brown’’;
case PIEBALD:return’’piebald’’;
}
return’’motley’’;
}
void show()const{
cout<<’’There is a’’<
}
};
int main(){
//ERROR **********found**********
Dog dog1(’’Hoho’’,WHITE),dog2(’’Haha’’,BLACK);dog3(’’Hihi’’,OTHER);
dog1.show();
dog2.show();
dog3.show();
return 0;
}
选项
答案
(1)this一>color=color; (2)const char getName()const{return *name;} (3)Dog dog1(’’Hoho’’,WHITE),dog2(’’Haha’’,BLACK),dog3(’’Hihi’’,OTHER);
解析
(1)主要考查考生对strcpy函数的掌握,如果看到上一条语句strcpy(this一>name,name);,就以为本条语句也要用strcpy函数来赋值,这是错误的。Strcpy函数只能复制字符串,根据类的私有成员声明可知,Color是DOGCOLOR型的,这里直接使用赋值语句“=”即可。
(2)主要考查考生对函数返回值的掌握,先解读语句const,char* getName()const{return *name;},要返回的是一个const的字符指针,同时函数内的值不能改变,name在类的私有成员声明中是个字符数组,*name代表字符数组而不是字符指针,问题就出来了,需要修改返回类型:const char getName()const{:return:*name;}。
(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://kaotiyun.com/show/tD8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
关于C++语言与C语言关系描述中错误的是
下列程序的输出结果是【】。#include<iostream.h>voidmain(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;cout<<y*d<<end1;}
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
一个类的友元函数或友元类可以访问该类的()。
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){cout<<1;)Con(
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是
有如下函数模板:template<typenameT,typenaineU>Tcast(Uu){returnu;}其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGJetLen(char*str){if(【】)return0;elsereturn1+GetLen(st
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
随机试题
Almosteveryonehasahobby.Ahobbycanbe【C1】______peopleliketodointheirsparetime.Ahobbycan【C2】______themwithinter
下列颈部血管损伤时,不可结扎的血管是
关于糖皮激素抗炎作用特点的描述,不正确的是()。
A.血管紧张素转化酶B.β肾上腺素受体C.羟甲戊二酰辅酶A还原酶D.钙离子通道E.钾离子通道氨氯地平的作用靶点是
现阶段在地籍测量中我国主要采用()土地分类系统。
[2014年,第68题]图5.7-4所示梁的横截面可选用空心矩形、矩形、正方形和圆形4种之一,假设四种截面的面积相等,载荷作用方向铅垂向下,承载能力最大的是()。
关于建设程序说法不正确的是()。
根据《刑法》的规定,下列关于徇私舞弊发售发票、抵扣税款、出口退税罪的说法中正确的是()。
某社区有12个积极分子A~L,他们之间的联系渠道见下图。居委会至少需要通知他们之中(67)________________个人,才能通过联系渠道通知到所有积极分子。
Manydaysseemtobring【B1】______tasksandresponsibilities,allofwhichapparentlymustbetackledrightaway.Youspendaday
最新回复
(
0
)