首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
84
问题
请打开考生文件夹下的解决方案文件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<iostream>
using namespace std;
//狗的颜色:黑、白、黄、褐、花、其他
enum DOGCOLOR {BLACK, WHITE,YELLOW, BROWN, PIEBALD,OTHER};
class Dog(//狗类
DOGCOLOR color;
char FIame[2 0];
static int count;
public:
Dog(char flame[],DOGCOLOR color){
strcpy(this一>name,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 PTEBALD: return"piebald";
}
return"motley";
}
void show()const {
cout<<"There is a"<<getColorString() <<"dog named"<<name<<’.’<<endl;
}
};
int main(){
//ERROR ******* found *******
Dog dogl("Hobo",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 dogl("Hoho",WHTTE),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,chat getName()const{retum name;}。
(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://kaotiyun.com/show/qw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++中用来实现运行时多态性的是______。
若有以下程序:#include<iostream>usingnamespacesstd;classA{public:A(){}A(inti){xl
在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。
如果一个类至少有一个纯虚函数,那么就称该类为()。
虚函数必须是类的()。
下面关于break语句的描述中,不正确的是
下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3。请将下列语句补充完整。Do{Sum+=【7】:n=n/10;)while(n!=0)
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
随机试题
ESPN网站提供各种体育新闻。ESPN充分利用它在有线电视业的品牌名气创建了WWW上的一个访问量最大的网站。他销售广告并提供大量免费信息,而忠诚的体育迷也可选择其Insider服务访问更多的体育新闻。《华尔街日报》网站允许访问者查看分类广告和某些特定报道
A、9cmB、10cmC、11cmD、13cmE、15cm骨盆入口平面前后径的距离是()。
A.异搏定B.洋地黄C.阿托品D.利多卡因E.胺碘酮预激综合征合并快速心房颤动时宜选择的治疗药物为
《城市供热管网工程施工及验收规范》对热力管道直埋保温管接头的规定是()。
李某2014年4月拟将部分个人财产转移至境外投资,他向一会计师事务所咨询完税凭证开具事宜,下列意见中正确的有()。(2014年)
下列对教师激发学生兴趣的描述不正确的是()。
阅读下面短文。完成下列问题。20世纪,水资源短缺尤其是水质性缺水成了世界共同面对的资源危机,污水处理顺理成章成为新兴朝阳产业。污水生物处理的实质就是通过微生物的新陈代谢活动,将污水中的有机物分解,从而达到净化污水的目的。人们希望通过污水处理改善水
若将10只相同的球随机放人编号为1、2、3、4的四个盒子中,则每个盒子不空的投放方法有()种.
A、TheshipwascarryingmineralstoThailand.B、Theonlysurvivorwasbeingtreatedinahospitalfaraway.C、Thesurvivorwast
BilingualEducationI.BilingualEducation1)Bilingualeducationprovidesinstructioninboththestudents’nativelanguageand
最新回复
(
0
)