首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a
admin
2019-04-24
70
问题
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hobo.
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 name[20];
static int count;
public:
Dog(char name[],DOGCOLOR
color){
strcpy(this->name,name);
//ERROR ********found********
strcpy(this->color,color);
}
DOGCOLOR getColor()const{return colOr;}
//ERROR ********found********
const char* get;Name()
const{return*name;}
const char * getColor-string()const{
switch(color){
case BLACK: return "black";
case WHITE: return "white";
case YELLOW: return "yellow";
case BROWN: ret;uEll "brown";
case PTEBALD: return "piebald";
}
return"motley";
}
void show()const{
cout<<"There is a"<
Colorstring() <<" dog named "
<
}
};
int main(){
//ERROR ********found********
Dog dogl("Hoho",WHITE),
dog2("Haha",BLACK);dog3("Hihi",OTHER);
dog1.show();
dog2.show();
dog3.show();
return 0;
}
选项
答案
(1)this->coh)r=color; (2)const char getName()const{return*name;} (3)Dog dogl("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代表字符数组而不是字符指针,问题就出来了,需要修改返回类型:eonsl char getName()const{return*name;}。
(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://kaotiyun.com/show/pdAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序段:for(inti=i;i<=50;i++){if(i%31=0)continue;elseif(i%51=0)continue;cout<<i<<",";这个程序的输出结果是_____
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<end1;}};cla
下面程序的输出结果为()。#inelude<iostream.h>voidmain(){intx;int&y=x;//变量引用y=99;cout<<"x="<<x<<end1;}
以下程序运行后的输出结果是()。#include<iostream.h>voidmain(){charaft="abbcabbcabbc";inti=0,j=0,k=0;while(a[i
下面关于虚函数的描述中正确的是()
不能作为函数重载的判断依据的是()。
纯虚函数的声明总是以______结束。
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return0;elsereturn
以下哪个不是C++语言中的有效标识符?
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
具有四级结构的蛋白质特征是
血浆中起关键作用的缓冲对是
疾病监测采用的方法属于
关于一般抹灰施工及基层处理的说法,错误的是()。
我国雨凇最多的地方是()。
材料:刘某是一名初中二年级的学生,他特别喜欢罗纳尔多,于是把头发剃成足球式的形状。第二天来学校上课,刚走进教室,被老师看见,老师便对他说:“你的发式太怪了,把头发再剪剪,恢复正常了再来上课,顺便让你爸爸妈妈来学校一趟。”刘某回家后,将这件事告知家人,第二
一个人应该活得是自己并且干净顾城人的生命里有一种能量,它使你不安宁。说它是欲望也行,幻想也行,妄想也行,总之它不可能停下来,它需要一
A、 B、 C、 D、 A图形中的外层四边形顺时针旋转45。、中间四边形顺时针旋转90。、内部四边形逆时针旋转45。,得到后一个图形。由此应选择A。
根据下述材料。写一篇700字左右的论说文,题目自拟。中心是令人向往的地方,处于中心地带往往有诸多便利、机会和认同。当然也有人在中心地带迷失,最终边缘化。边缘是让人平静的地方,它的质朴和别样让生活其中的人受益良多,甚至还吸引中心的人们探寻它的魅力。
Weliveinatimewhen,morethaneverbeforeinhistory,peoplearemovingabout.
最新回复
(
0
)