请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程pmjl,该工程中包含程序文件main.cpp,其中有关TVSet(“电视机”)和主函数main的定义。程序中位于每个“//ERROR**********found**********”之后的一

admin2016-06-12  14

问题 请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程pmjl,该工程中包含程序文件main.cpp,其中有关TVSet(“电视机”)和主函数main的定义。程序中位于每个“//ERROR**********found**********”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
规格:29英寸,电源:开,频道:5,音量:18
规格:29英寸,电源:关,频道:一1,音量:一1
注意:只修改每个“//ERROR**********found**********”下的那一行,不要改动程序中的其他内容。
#include
us ing namespace std;
class TVSet{  //“电视机”类
  const int Size;
  int channel;  //频道
  int volume;  //音量
  bool on;  //电源开关:true表示开,false表示关
public:
//ERROR**********found**********
  TVSet(int Size){
this一>Size(size);
channel=0;
volume=15;
on=false;
}
int getSize()const{return size;)
//返回电视机规格
bool isOn()const{return on;}  //返回电源开关状态
  //返回当前音量,关机情况下返回一1
  int getVolume()const{return isOn
  ()?voiume:一1;)
  //返回当前频道,关机情况下返回一1
  int getChannel()const{return isOn
  ()?channel:一1;}
  //ERROR**********found**********
  void turnOnOff()const//将电源在“开”和“关”之间转换
{on=!on;)
void setChannelTo(int chan){  //设置频道(关机情况下无效)
if(isOn()&&chan>=0&&chan<=99)
channel=chan;
}
void setVolumeTo(int v01){  //设置音量(关机情况下无效)
if(isOn()&&vol>=0&&vol<=30)
volume=vol;
)
void show state(){
  //ERROR**********found***********
cout<<“规格:”<<<“,电源:”《(isOn()?“开“关”)
<<“,频道:”<<<“,音量:”<)
};
int main(){
TVSet tv(2 9);
tv.turnOnOff();
tv.setChanneiTo(5);
tv.setVolumeTo(18);
tv.show state();
tv.turnOnOff();
tv.show State();
return 0;
}

选项

答案(1)1TSet(int size):size(size){ (2)void turnOnOff() (3)cout<<”规格:”<
解析 主要考查TVSet类,其中涉及构造函数、const函数和bool型函数。TVSet类的私有成员中有个常变量const imsize,这种变量只能使用成员列表初始化来赋值,判断一个函数是否为const函数,就要看函数体内是否有成员变量的值发生了改变。
【解题思路】(1)主要考查考生对构造函数的掌握,因为size是常变量,所以只能用成员初始化列表来初始size,即TVSet(intsize):size(size){。
(2)主要考查考生对const函数的掌握,在turnOnOff函数中,有语句:on=!on;,使得on的值发生改变,因此该函数不能使用const 。
(3)主要考查考生对输出语句的掌握,下一条语句:<<”,电源:”<<(isOn()?”开”:”关”),说明输出语句还没结束,因此不能用“;”。
转载请注明原文地址:https://kaotiyun.com/show/7YNp777K
0

最新回复(0)