首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2019-08-23
375
问题
请打开考生文件夹下的解决方案文件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 namespace std;
//狗的颜色:黑、白、黄、褐、花、其他
enum DOGCOLOR{BLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER};
class Dog{//狗类
DOGCOLOR color;
char nanle[20];
static int count;
public:
Dog(char name[],DOGCOLOR color){
strcpy(this一>nalTle,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’’<
}
};
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 *name;} (3)Dog dog1(’’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代表字符数组而不是字符指针,问题就出来了,需要修改返回类型:const char getName()const{:return:*name;}。
(3)语法错误,定义变量时,变量之间应使用“,”分开。
转载请注明原文地址:https://kaotiyun.com/show/tD8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现
在一个被调用函数中,关于return语句使用描述,( )是正确的。
以下程序的输出结果是()。min(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}
关于动态存储分配,下列说法正确的是()。。
有如下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){cout<<"BB";f();}Voidf(){cout<<"Bf";}};clas
可以把具有相同属性的一些不同对象归类,称为______。
下列对模板的声明中正确的是()。
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
在数据库系统中,用户所见的数据模式为
在面向对象方法中,允许作用于某个对象上的操作称为【 】。
随机试题
患者,男,40岁。因车祸致腰椎椎体骨折,6个月前已行钢板固定手术。患者自述S4~S5节段无感觉,也无运动功能。目前留置导尿,小便可解但不能完全排空,测定膀胱残余尿量为300ml。现可独立坐稳,亦可练习抛接球训练。平卧位下可全范围屈髋,无须辅助,然伸膝不能。
生产、销售不符合标准的医疗器械、医用卫生材料,致人死亡的,属于生产、销售伪劣农药、兽药罪中,一般以十万元为起点的是
关于照明配电箱的安装技术要求,正确的有()。
一般会计人员办理会计工作交接手续时( )负责监交。
个体进行活动的基本动力是()。
λ取何值时,方程组无解?有唯一解或有无穷多解?并在有无穷多解时写出方程组的通解.
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。
有如下类声明:classSAMPLE{intn;public:SAMPLE(inti=0):n(i){}voidsetValue(intn0);};下列关于getValue成员函数的定义中,正确的是()。
WhatisJohndoingnow?
Whathaveyoutodobeforeyougettothedeparturegate?Youhavetopay______.Whatwilltheattendantaskyoutoshowher
最新回复
(
0
)