首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
36
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
若下列程序运行时输出结果为1,A,10.12,B,3.5请将程序补充完整。#include<iostream>usingnamespacestd;intmain(){voidt
如下程序声明了一个使用两个通用数据类型的模板类dataClass,其中构造函数用于初始化两个数据成员,成员函数show用于输出两个数据成员的数值。#include<iostream>usingnamespaeestd;_
模板函数的真正代码是在()时候产生。
软件工程的出现是由于()。
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;voidfun(int&rf)}rf*=2;}intmain(){
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
以下程序的结果是 #include<iostream.h> voidmain() {char*p="abcdefgh",*r; long*q; q=(long*)p; q++; r=(char*)q; co
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
若有定义语句“intx=10;”,则表达式“x
随机试题
脑出血病人CT图像为()
A.母体血清经胎膜进入羊膜腔的透析液B.胎儿尿液C.胎儿皮肤D.胎儿肺E.胎膜妊娠中晚期羊水的主要来源是
能增加左心室后负荷的临床情况是
脱水根据水与电解质丧失比例的不同,分为三种类型,高渗性脱水,低渗性脱水和等渗性脱水。()
一个体积为1立方米的立方体,把它切成1立方厘米的小正方体,然后把这些小正方体排成一列,组成一个长方体。这个长方体长多少厘米?()
操作系统中,建立文件系统的时刻是()。
马克思主义认为,社会历史观的基本问题是
数据管理中的安全性管理是数据生命周期中的一个比较重要的环节。要保证数据的安全性,须保证数据的保密性和完整性。下列选项中,(61)________________不属于数据安全性管理的特性。
A、TeachDon’sclasswhilehe’sabsentB、GiveProfessorWebsterthekeytoDon’soffice.C、LeavetheassignmentontheboardinD
Peopledonotanalyzeeveryproblemtheymeet.Sometimestheytrytorememberasolutionthelasttimetheyhadasimilarproble
最新回复
(
0
)