s: TaskRunnerO {} // Синглетны
Автор admin
Четверг, 18 июня 2009 11:32
s: TaskRunnerO {} // Синглетный класс TaskRunnerS operator=(TaskRunner&): // Запрет TaskRunner(const TaskRunnerS): // Запрет static TaskRunner tr: public: static void add(Task& t) { tasks.push_back(&t): } static void run() { vector: iterator it – tasks.beginO; while(it != tasks.endO) (*it++)->operation(); } }: TaskRunner TaskRunner::tr; vector TaskRunner::tasks: class EventSimulator { clock_t creation; clock_t delay; public: EventSimulator() : creation(clockO) { delay = CL0CKS_PER_SEC/4 * (randO % 20 + 1); cout « “delay = ” « delay « endl: } bool firedО { return clockO > creation + delay: } }: // Источник асинхронных событий: class Button { bool pressed: string id; EventSimulator e: //Для демонстрации public: Button(string name) : pressed(false), id(name) {} void pressO { pressed = true; } bool isPressedO { if(e.firedO) pressO: // Имитация события return pressed: } friend ostream& operator«(ostream& os. const Buttons b) { return os « b.id; } }: Команда 485 class CheckButton : public Task { Buttons button; bool handled; public: CheckButton(Button & b) : button(b). handled(false) {} void o
Комментарии закрыты.
Последние комментарии