摘要:【C++代码】classLight{//电灯类public:voidturnLight(intdegree){//调整灯光亮度,0表示关灯,100表示亮度最大};};classTV{//电视机类public:voidsetChannel(intchannel){//调整频道,0表示关机,1表示开机并切换到1频道};};classCommand{//抽象命令类public:virtualvoidon()=
【C++代码】
class Light{ //电灯类
public:
void turnLight(int degree){ //调整灯光亮度,0表示关灯,100表示亮度最大};
};
class TV{ //电视机类
public:
void setChannel(int channel){//调整频道,0表示关机,1表示开机并切换到1频道};
};
class Command{ //抽象命令类
public:
virtual void on()=0;
virtual void off()=0;
};
class RemoteController{ //遥控器类
protected:
Command *commands[4]; //遥控器有4个按钮,按照编号分别对应4个Command对象
public:
void onPressButton(int button){ //按钮被按下时执行命令对象中的命令
if(button % 2 == 0)commands[button]->on();
else commands[button]->off();
}
void setCommand(int button,Command * command){
(1) = command; //设置每个按钮对应的命令对象
}
};
class LightCommand : public Command{ //电灯命令类
protected: Light *light; //指向要控制的电灯对象
public:
void on(){light->turnLight(100);};
void off(){light->(2);};
LightCommand(Light * light){this->light = light;};
};
class TVCommand : public Command{ //电视机命令类
protected: TV * tv; //指向要控制的电视机对象
public:
void on(){tv->(3);};
软考备考资料免费领取
去领取