1st/1st.cpp

36 lines
637 B
C++

class Device {
public:
virtual void turnOn() = 0;
virtual void turnOff() = 0;
virtual ~Device() {}
};
class LED : public Device {
public:
void turnOn() override {
// 點亮 LED
}
void turnOff() override {
// 熄滅 LED
}
};
class Motor : public Device {
public:
void turnOn() override {
if(needsWarmup()) {
warmup(); // 預熱馬達
}
// 啟動馬達
}
void turnOff() override {
// 關閉馬達
}
private:
bool needsWarmup() {
// 判斷馬達是否需要預熱
}
void warmup() {
// 預熱馬達
}
};