// State.h
#ifndef _STATE_H
#define _STATE_H
#include <string>
using namespace std;
class State {
private:
int currentState;
public:
virtual void Up();
virtual void Middle();
virtual void Down();
private:
string warningMessage;
public:
inline const string get_warningMessage() const;
};
inline const string State::get_warningMessage() const {
return warningMessage;
}
#endif
// Light.h
#ifndef _LIGHT_H
#define _LIGHT_H
#include "Machine.h"
class Light : public Machine {
public:
Light();
private:
void Middle();
};
#endif
說明:
// Machine.h
#ifndef _MACHINE_H
#define _MACHINE_H
#include "State.h"
#include <string>
using namespace std;
class Machine {
private:
State currentState;
public:
Machine(string machineType);
void Up();
void Middle();
void Down();
string getWarningMessage();
private:
string machineType;
public:
inline const string get_machineType() const;
};
inline const string Machine::get_machineType() const {
return machineType;
}
#endif
// Heater.h
#ifndef _HEATER_H
#define _HEATER_H
#include "Machine.h"
class Heater : public Machine {
public:
Heater();
};
#endif