首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR **** found ****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is
admin
2020-04-07
35
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/4PA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是
以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!b)||!c;cout<<d<<endl;}
有如下类声明:classXA{intx;public:XA(intU)}x=n;}};classXB:publicXA{inty;public:XB(in
程序的结果为【】。 #include”iostream.h” template<typenameT> Ttotal(T*data) { Ts=0; while(*data) {
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;voidfun(int&rf)}rf*=2;}intmain(){
从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是【】。
设x,y,t均为int型变量,执行语句:x=y=3;t=++x||++y;,完成后,y的值为( )。
以下程序的结果是 #include<iostream.h> voidmain() {char*p="abcdefgh",*r; long*q; q=(long*)p; q++; r=(char*)q; co
下列程序输出的结果是()。#include<stdio.h>sub1(chara,charb){charc;c=a;a=b;b=c:}sub2(char*a,charb){charc;c=*a;”a=b:b=c
虚函数必须是类的()。
随机试题
电动汽油泵的作用是将汽油从油箱中吸出,加压后通过燃油管道输送到喷油器。电控燃油喷射系统中使用的电动汽油泵有_______和_______。
下列作品中,属于我国清代优秀短篇小说集的是()
血细胞分析仪血小板直方图的横坐标代表
下列哪项可使胸式呼吸减弱或消失
安全技术措施计划的范围应包括改善劳动条件、防止事故发生、预防职业病和职业中毒等内容,具体包括()。
根据我国民事诉讼法的规定,该纠纷应由()的法院管辖。如此案标的物已转移至G公司,在诉讼中需要进行财产保全时,法院()。
下列各项关于稀释每股收益的表述中,正确的有()。
我国现代学制的建立比欧洲现代学制的建立早。()
甲租用乙的一台笔记本电脑,后甲将该电脑转让给丙,丙知道该笔记本电脑为乙的财产,但仍然以明显低于市场同类产品的价格受让了该电脑,根据《物权法》的规定,下列说法正确的是()。
【2013年烟台莱州市真题】《中华人民共和国教师法》中规定教师的平均工资水平应不低于或者高于国家公务员的平均工资水平。()
最新回复
(
0
)