首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2020-12-21
71
问题
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
There is a white dog named Hoho.
There is a black dog named Haha.
There is a motley dog named Hihi.
注意:只修改每个//ERROR****found****下的那一行,不要改动程序中的其他内容。
#include
using namespaee 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 * 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 PIEBALD:return”piebald”:
}
return"motley”;
void show()const{
cout<<“There is a"<<getColorString()<<“dog named”<<nanle<<‘.’<<endl:
}
};
int main(){
//ERROR**********found**********
Dog dog1(“Hoho”,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*nanle;} (3)Dog dog1(“Hoho”,WHITE),dog2(“Haha”,BLACK),dog3(“Hihi",OTHER);
解析
主要考查的是Dog类,其中涉及enum、静态私有成员、const函数和构造函数。strepy函数用来复制字符串,而对double、int等类型直接用“=”赋值即可。定义同一类型的变量时,几个变量之间用“,”分开。(1)主要考查考生对strcpy函数的掌握,如果看到上一条语句strcpy(this->name,name);,就以为本条语句也要用strcpy函数来赋值,这是错误的。Strcpy函数只能复制字符串,根据类的私有成员声明可知,color是DOGCOLOR型的,这里直接使用赋值语句“=”即可。(2)主要考查考生对函数返回值的掌握,先解读语句eonstchal*getName()const{return*nanle;},要返回的是一个const的字符指针,同时函数内的值不能改变,name在类的私有成员声明中是个字符数组,*name代表字符数组而不是字符指针,问题就出来了,需要修改返回类型:const char getName()const{return*name:}。(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://kaotiyun.com/show/qdyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列语句的输出结果 cout<<strlen("\t\"\065\xff\n");
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是
字面常量42、4.2、42L的数据类型分别是
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include<iostream>using namespace std;class Base{ int a,b;public
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是
下列循环语句中有语法错误的是
关于函数重载,下列叙述中错误的是
下列数据模型中,具有坚实理论基础的是
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(intn)的功能是在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个,并作为参数返回。注意:不能修改程序的其他部
随机试题
正常情况下,下颌最大侧方运动范围约为
下述哪项不是排卵性月经过多的临床表现
在债券交易中,采用净价交易的特点是( )。
应当逮捕的犯罪嫌疑人如果在逃,县级以上公安机关在自己管辖的地区内,()发布通缉令。
教育除了需要根据社会的变化而与时俱进、更新知识体系外,还应向受教育者提供许多“________”的东西,比如创新意识和批判精神的________,品行、修为的培养,智商、情商和灵商的开发。无论时间如何流逝,知识如何更新,上述内容都应始终存在于高等教育之中,
在研究方法上,参数估计与假设检验有什么相同点和不同点?
设f(x)=x2,则f’(x)=_____________.
与十进制数4625等值的十六进制数为
A—InternationalMarketPriceB—LandingChargesC—ApplicationNumberD—CurrentPriceE—FavorableBalanceofTradeF—CustomsDuty
Forthispart,youareallowed30minutestowriteashortessayentitledOnthePopularityofMicroblog.Youshouldwriteatle
最新回复
(
0
)