首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
请打开考生文件夹下的解决方案文件proj1,其中有枚举DOGCOLOR、狗类Dog和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a whi
admin
2020-12-21
52
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/4sl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill(’*’); c
下列关于构造函数的描述中,错误的是()。A)构造函数名与类名相同B)构造函数可以有返回值C)构造函数可以重载D)每个类都有构造函数
下列是模板声明的开始部分,其中正确的是
下列有关继承和派生的叙述中,正确的是
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为:100注意:错误的语句在//*****error******的下面,修改该语句即可。#includestatic
下列叙述中正确的是
设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
如下函数模板:template<classT>Tsquare(Tx){returnx*x;}其中T是()。
随机试题
冲泡茶的过程中,在以下()动作是不规范的,不能体现茶艺师对宾客的敬意。
关于普萘洛尔,下述哪一项是错误的
A.颈椎间盘退行性变B.关节囊韧带松弛,椎间失稳,压迫脊髓C.外伤D.先天性因素E.后纵韧带骨化颈椎病发生的主要原因()
注册咨询工程师(投资)执业资格考试没有()等方面的限制。
关于资本市场线,下列说法不正确的是( )。
提前偿还债券所支付的价格通常要低于债券的面值,并随到期日的临近逐渐提高。()
我国首部提到“实行职业资格证书制度”的法律法规是《职业教育法》。()
爱国主义的时代价值体现在
考生文件夹下存在一个数据库文件“samp3.accdb”,里面已经设计好表对象“tOrder”“tDetail”和“tBook”,查询对象“qSell”,报表对象“rSell”。请在此基础上按照以下要求补充“rSell”报表的设计:对报表中名称为“tx
A、Justgetthetreatmentfromthefirstdoctor.B、Takeadifferentkindofmedicine.C、Askanotherdoctorforadvice.D、Togett
最新回复
(
0
)