首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
46
问题
请打开考生文件夹下的解决方案文件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.h>intmin(inta,intb){if(a<b)returna;elsereturnb;return0;
下列对模板的声明中,正确的是()。
以下不正确的定义浯句是
有下列程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defaultconstmct
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
下列程序输出的结果是()。#include<stdio.h>sub1(chara,charb){charc;c=a;a=b;b=c:}sub2(char*a,charb){charc;c=*a;”a=b:b=c
下面是类MyChss的定义,对定义中语句描述正确的是()。classMyClass{public:voidMyClass(inta){X=a;)//①intf(inta,intb)//②{X=
随机试题
一青壮年男性患者从10米高处坠落足跟着地,根据创伤机制可能出现的骨折部位和合并症有哪些?并提出相应的应急处理措施及原则。
男性,27岁。左下腹隐痛伴脓血便1年,外院钡灌肠检查示“慢性结肠炎”。查体:腹平软,左下腹轻压痛,未扪及包块。肛检见肛瘘和肛裂。提问2:根据上述资料,最可能的诊断是A.结肠癌B.克罗恩病C.慢性阿米巴痢疾D.慢性细菌性痢疾
简述最高额抵押权及其特点。
背景材料:某机电设备安装公司中标一项中型机电设备安装工程,并签订了施工承包合同。工程的主要内容有静设备安装、工艺管道安装、机械设备安装等,其中静设备工程的重要设备为一台高38m、重60t的合成塔,该塔属于压力容器,由容器制造厂整体出厂运至施工现场,机电
下列哪一个不是埃及的雕塑作品?()
第一次在国家层面的正式文件中使用“素质教育”概念的是()。
班集体形成的条件和前进的动力是()。
所谓依法从快,是指依照( )的规定,在审理案件的时限以内迅速地审结案件。
1980年至1990年,我国GDP保持每年9.5%的增长,就业人口年增长率为4.3%,就业弹性(就业人口年增长率/GDP年增长率)为0.543。1991年至2000年,就业弹性下降至0.1l。2001年至2008年,就业弹性下降到不足0.1。下列措施中能有
Theeconomymaybetroubled,butoneareaisthriving:socialmedia.TheybeginwithFacebookandextendthroughadizzyingarra
最新回复
(
0
)