首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a
admin
2019-04-24
47
问题
请打开考生文件夹下的解决方案文件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
using namespace std;
//狗的颜色:黑、白、黄、褐、花、其他
enum DOGCOLOR {BLACK, WHITE,
YELLOW,BROWN,PIEBALD,OTHER);
class Dog {//狗类
DOGCOLOR color;
char name[20];
static int count;
public:
Dog(char name[],DOGCOLOR
color){
strcpy(this->name,name);
//ERROR ********found********
strcpy(this->color,color);
}
DOGCOLOR getColor()const{return colOr;}
//ERROR ********found********
const char* get;Name()
const{return*name;}
const char * getColor-string()const{
switch(color){
case BLACK: return "black";
case WHITE: return "white";
case YELLOW: return "yellow";
case BROWN: ret;uEll "brown";
case PTEBALD: return "piebald";
}
return"motley";
}
void show()const{
cout<<"There is a"<
Colorstring() <<" dog named "
<
}
};
int main(){
//ERROR ********found********
Dog dogl("Hoho",WHITE),
dog2("Haha",BLACK);dog3("Hihi",OTHER);
dog1.show();
dog2.show();
dog3.show();
return 0;
}
选项
答案
(1)this->coh)r=color; (2)const char getName()const{return*name;} (3)Dog dogl("Hoho",WHITE),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代表字符数组而不是字符指针,问题就出来了,需要修改返回类型:eonsl char getName()const{return*name;}。
(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://www.kaotiyun.com/show/pdAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据库系统的核心是______。
如下程序的输出结果是______。#include<iostream>usingnamespacestd;classWages{//“工资”类doublebase;//基本工资dou
如下程序的输出结果是______。#include<iostream>usingnamespacestd;intfunl(intx){return++x;}intfun2(int&x){return++x;
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<end1;}};cla
有以下程序段:#include<iostream.h>#defineMAX(x,y)(x)>(y)?(x):(y)voidmain(){inti,j,k;i=10;j=15;k=MAX(i
已知一个函数的原型是:intfn(doublea);若要以5.27为实参调用该函数,应使用表达式______。
有如下程序:#include<iostream>usingnamespacestd;classTestClass1{public:virtualvoidfun(){cout<<"1";}};
下面关于虚函数的描述中正确的是()
下面不属于C++的预定义的流对象是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
人们在公共生活中应该举止文明、礼貌待人、和谐相处。这是社会公德中
哮喘病人不宜
有机磷中毒时,属于烟碱样症状的是
下列关于银行公司治理主体的说法,正确的是()。
在1998到5001的整数中,十位数字与个位数字相同的数有多少个?()
石油峰值论认为,石油产量会达到最高点,之后不可避免地开始下降。石油峰值几乎是确定的事,但仍然存在两个问题:它究竟何时出现?世界是否能够及时研发出替代能源?__________的观察家并不相信石油峰值会在2020年前出现,但一些石油公司承认他们此前夸大了地
西方发达国家的资本家一直注重培养产业工人的科研能力以及利用各种途径提高产业工人的操作能力,并将其应用于企业的生产活动中,其根本目的是
Who’spoorinAmerica?That’saquestionhardtoanswer.Hardbecausethere’snoconclusivedefinitionofpoverty.Lowincomema
在文件系统中,文件的逻辑结构可分为两类,它们是()。
______(为了寻找改善质量的途径),theyaregoingtohaveadiscussion.
最新回复
(
0
)