首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
39
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下语句序列intarr[2][2]={{9,8),{7,6}};int*p=arr[0]+1;cout<<*p<<end1;运行时的输出结果是______。
执行这个程序的输出结果是();#include<iostream>usingnamespacestd;classTestClass1{public:voidfun1(){cout<<"
下列对模板的声明中,正确的是()。
下列关于派生类的构造函数的叙述中,正确的是()。
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
有关构造函数的叙述不正确的是
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
如果一个类至少有一个纯虚函数,那么就称该类为()。
随机试题
A.第二产程停滞B.胎头下降停滞C.活跃期延长D.潜伏期延长E.第二产程延长
酸枣仁汤的组成药物中含有
某建设项目建筑工程费6000万元,安装工程费1400万元,设备购置费2000万元,工程建设其他费用800万元,预备费230万元,建设期贷款利息300万元,流动资金2000万元。【问题】计算该项目的工程造价和建设投资各为多少万元?
某公司承建城市主干道改造工程,其结构为二灰土底基层、水泥稳定碎石基层和沥青混凝土面层,工期要求当年5月份完成拆迁,11月底完成施工。由于城市道路施工干扰因素多,有较大的技术难度,项目部提前进行了施工技术准备工作。水泥稳定碎石基层施工时,项目
在国际贸易中使用EDI的现实意义有()。
下列属于收购人编制简式权益变动报告书的内容是()。
除基本工资以外,管理人员还可获得下列薪酬()。销售人员可以获得的薪酬形式有()。
2009—2014年中,云南生产总值比地方财政一般预算收入的8倍还多的年份有几个?()
李贽
在浏览Web页面时,发现了自己需要经常使用的Web页面,为了方便以后IE浏览器访问该页面,可以将该Web页面(23)。
最新回复
(
0
)