⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 state.cpp

📁 Thinking in C++ 2nd edition source code which are all the cores of the book Thinking in C++ second e
💻 CPP
字号:
//: C03:State.cpp
// From Thinking in C++, 2nd Edition
// at http://www.BruceEckel.com
// (c) Bruce Eckel 1999
// Copyright notice in Copyright.txt
// A state-transition class
#include <iostream>
using namespace std;

// See "enum" defined later in this chapter for a better
// way to do this:
const int idle = 0;
const int pre_wash = 1;
const int spin1 = 2;
const int wash = 3;
const int spin2 = 4;
const int rinse = 5;
const int spin3 = 6;
class WashingMachine {
  int current_cycle;
 public:
  void start() { current_cycle = idle; }
  void next();
};
void WashingMachine::next() {
  switch(current_cycle) {
    case idle : current_cycle = pre_wash; break;
    case pre_wash  : current_cycle = spin1; break;
    case spin1 : current_cycle = wash; break;
    case wash: current_cycle = spin2; break;
    case spin2 : current_cycle = rinse; break;
    case rinse: current_cycle = spin3; break;
    case spin3 : current_cycle = idle; break;
    default : current_cycle = idle;
  }
  cout << "current_cycle = " << current_cycle << endl;
}
int main() {
  WashingMachine WM;
  WM.start();
  for (int i = 0; i < 7; i++)
    WM.next();
} ///:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -