首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。 程序中位于每个“//ERROR ****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2019-08-23
35
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
若有如下语句#include<iostream.h)voidmain()intx=3;do{X=X-2;cout<<x;}while(!(--x));}则上面程序段()。
头文件【】中包含了处理用户控制的文件操作所需的信息。
下面的______保留字不能作为函数的返回类型。
下列程序的输出结果是【】。#include<iostream.h>voidmain(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;cout<<y*d<<end1;}
在下面程序中,编译时出现错误的是______。ClassA//(1){public://(2)A(){f();//(3)}voidB(){
下列叙述中正确的是
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
关系中的属性或属性组合,其值能够惟一地标识一个元组,该属性或属性组合可选作为【】。
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
随机试题
牛慢性蕨类植物中毒的典型症状是
能引起药物性牙龈增生的药物是
对工程项目团队成员的考核方式主要有()。
YJV型电力电缆()。
背景材料:某施工单位承接了某二级公路的施工,工程合同总价为6758万元。其工程划分见下表:本项目中的桥梁工程为一座3×25m简支梁桥,梁板采用预制构件。根据施工组织安排,排水工程(B)开始施工20d后才能开始路基土石方工程(A)施工,涵洞(C)完成后
关于股份的含义,下列说法错误的是()。
关于党的十一届三中全会召开后我国实现的转折,下列说法错误的是:
设α为n维非零列向量,A=E-ααT.(1)证明:A可逆并求A-1;(2)证明:α为矩阵A的特征向量.
Whetherthey’represchoolersfromAustraliansuburbsorKalahariBushmen,childrencopyadultstoafault,accordingtoanewst
CertainphrasesonecommonlyhearsamongAmericanscapturetheirdevotiontoindividualism:"Doyouownthing.""Ididitmyway
最新回复
(
0
)