首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
68
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
执行这个程序的输出结果是();#include<iostream>usingnamespacestd;classTestClass1{public:voidfun1(){cout<<"
有下列程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defaultconstmct
在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
非成员函数应声明为类的【】函数才能访问这个类的private成员。
虚函数必须是类的()。
以下C++语言中用于单行注释的是
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
随机试题
患儿,8岁。水肿,少尿,尿量浓茶色,伴头痛、眼花,呕吐,血压170/120mmHg(22.7/16kPa),尿蛋白(+),红细胞30个/高倍视野,颗粒管型0~1个/高倍视野。诊断可能为
重度子痫患者行剖宫产,错误的处理措施的是
低应变反射波法基桩完整性检测,已知待检桩桩长42.0m,桩径2.0m,混凝土设计强度为C25,灌注龄期大于28d,请回答下列问题。为获得较明显的桩底反射信号,应选用()。
下列不属于基金财务会计报告分析目的的是()。
基本分析流派是指以()作为投资分析对象与投资决策基础的投资分析流派。Ⅰ.宏观经济形势Ⅱ.行业特征Ⅲ.地区特征Ⅳ.上市公司的基本财务数据
阿尔卑斯山是欧洲著名的旅游胜地,该山脉覆盖了欧洲多个国家的领土,这些国家中不包括()。
学生在数学课上学会了端坐在座位上认真做作业,在英语课上学生也做出类似行为。这表明学习行为存在()。
随着时间的推移我们会相信那些我们不信任的人所提供的信息,这种现象称之为
A、Hismotheriswithhim.B、Hethinkshecandealwithsometrouble.C、Heseesmanyfoods.D、Hefeelsthelovefromhisparents.
A、Takeanotherinterview.B、Workwithhisfather.C、Starthisowncompany,D、Stayatthepresentjob.BM:Whatwillyoudoifyo
最新回复
(
0
)