首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2020-12-21
97
问题
请打开考生文件夹下的解决方案文件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://www.kaotiyun.com/show/qdyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classPublication{//出版物类charname[30];public:Publication(char*name=”未知名称”){strcpy(this-
有如下程序: #include <iostream> using namespace std; class Base { public: Base(int x=0) { cout<<x; } } class
有如下程序段int i=0,j=1;int &r=i; //①r=j; //②int*p=&i; //③*p=&r; //④其中会产生编译错误的语句是
有如下类定义:classA{char*a;public:A():*(0){}A(char*aA){//把aa所指字符串拷贝到a所指向的存储空间a=________;strcpy(a,aA);}~A(){delete[]a;}};
在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译。这说明( )。
C++流中重载的运算符>>是一个
下列叙述中正确的是
关键字unsigned不能修饰的类型是()。
下面不属于软件需求规格说明书内容的是
算法的空间复杂度是指()。
随机试题
甲与乙签订购货合同,并在合同中约定,“本合同自双方当事人签字之日起生效”,该约定()
“标准化的教学很可能束缚学生的想象力和创造力,扼杀学生的创新精神”,这句话:要体现了教育的_______功能。
切缝法施工用于水泥混凝土路面的()。
股票的清算价值是公司清算时每一股份所代表的()。[2012年3月证券真题]
某纳税人2003年8月份取得转让房地产收入150万元,其扣除项目金额为90万元。请计算该纳税人应纳的土地增值税额。
上古的神话宝库(),是洛阳人根据当时流传最多的河洛地区神话资料编写而成。
简述系统脱敏法的步骤。(2015.江苏)
改革开放以来,文学创作成就不菲,但缺乏______、影响深远的力作。今天的文坛不能说不繁荣,然而繁荣也______不住其中的“虚荣”成分——虚假的繁荣。填入画横线部分最恰当的一项是:
Air&Cargoisa(150)one-stopshoppingglobaltransportlogisticsservicethatprovideseverythingyouneedfromfreightforwar
Readinginvolveslookingatgraphicsymbolsandformulatingmentallythesoundsandideastheyre-present.Conceptsofreading
最新回复
(
0
)