摘要:【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);};
軟考備考資料免費領取
去領取