使用VC6打开考生文件夹proj1下的工程proj1,其中有“沙发”类Sofa和主函数main的定义。程序中位于每个//ERROR**********found**********下的语句行有错误.请加以更正。更正后程序的输出应该是: 座位数:3 颜色:红

admin2017-07-28  26

问题 使用VC6打开考生文件夹proj1下的工程proj1,其中有“沙发”类Sofa和主函数main的定义。程序中位于每个//ERROR**********found**********下的语句行有错误.请加以更正。更正后程序的输出应该是:
座位数:3
颜色:红色
注意:只能修改每个//ERROR**********found**********下的那一行,不要改动程序中的其他内容。
#include<iostream>
using namespace std;
class Sofa{//“沙发”类
int seats;//座位数
char color[10];//颜色
public:
//ERROR**********found**********
Sofa(int s,const char*co){
//ERROR**********found**********
if(co=NULLl
color[0]=’\0’;
else
strcpy(color,co);
}
//EllROR**********found**********
const char*getSeats()(!onst{return seats;}
coust char*getColor()const{return color;}
};
int main(){
Sofa sara(3);
tout<<"座位数:"<<sara.getSeats()<<endl;
tout<<"颜色:"<<safa.getColor()<<endl;
retturn0;
}

选项

答案(1)Sofa(int s,const char*co=“红色”):seats(s){ (2)if(co==NULL) (3)int getSeats()const{return seats;}

解析 本题主要考查的知识点为:关系运算符和关系表达式、默认参数和函数返回类型。
程序定义Sofa类,它包含两个数据成员:字符数组color和整型变量seats;还包含一个构造函数,两个公有成员函数,getSeats()函数返回成员seats的值,getColor()函数返回字符数组color的地址
Sofa类的定义体中,有三个错误:
(1)Sofa类的构造函数错误:由main()函数中定义Sofa类对象时可知:构造函数虽然有两个参数,但是可以只传入一个整型变量,所以另一个参数co需要提供一个默认值,由题意可知程序运行结果输出颜色是红色,所以co的默认字符串值为“红色”;另外程序需要输出座位数:3,所以成员seats需要使用形参s完成初始化,构造函数体中并未对seats进行赋值。
(2)Sofa类的构造函数中,需要根据形参co的值是否为空,完成color的赋值,此处的if判断需要使用相等关系运算符,而不是赋值运算符。
(3)成员函数getSeats()返回的是seats的值,所以返回值应该是int类型,而不是const char*类型。
转载请注明原文地址:https://jikaoti.com/ti/Nmt0FFFM
0

最新回复(0)