初始化模块,很好的一种写法.

http://cooker.iteye.com/blog/849208

C++代码  收藏代码
  1. #include <iostream>  
  2. #include <sstream>  
  3.   
  4.   
  5. enum MODULEID {  
  6.     MODULE_A,     
  7.     MODULE_B,  
  8.     MODULE_C ,  
  9.     MODULE_D,  
  10.     MODULE_E,  
  11.     MODULE_F,  
  12.     MODULE_NONE  
  13. };  
  14.   
  15. void Init()  
  16. {  
  17.     MODULEID eModuleId = MODULE_A;  
  18.     bool bStart = true;  
  19.     while(bStart)  
  20.     {  
  21.         switch(eModuleId)  
  22.         {  
  23.         case MODULE_A:  
  24.             std::cout<<"MODULE A is ok"<<std::endl;  
  25.             eModuleId = MODULE_B;  
  26.             continue;  
  27.         case MODULE_B:  
  28.             std::cout<<"MODULE B is ok"<<std::endl;  
  29.             eModuleId = MODULE_C;  
  30.             continue;  
  31.         case MODULE_C:  
  32.             std::cout<<"MODULE C is ok"<<std::endl;  
  33.             eModuleId = MODULE_D;  
  34.             continue;  
  35.         case MODULE_D:  
  36.             std::cout<<"MODULE D is ok"<<std::endl;  
  37.             eModuleId = MODULE_E;  
  38.             continue;  
  39.         case MODULE_E:  
  40.             std::cout<<"MODULE E is ok"<<std::endl;  
  41.             eModuleId = MODULE_F;  
  42.             continue;  
  43.         case MODULE_F:  
  44.             std::cout<<"MODULE F is ok"<<std::endl;  
  45.             eModuleId = MODULE_NONE;  
  46.             continue;  
  47.         default:  
  48.             std::cout<<"MODULE is fully completed"<<std::endl;  
  49.             bStart = false;  
  50.         }  
  51.     }  
  52.   
  53. }  
  54.   
  55. int main()  
  56. {  
  57.     Init();  
  58.   
  59.     return 0;  
  60. }  



result: 
MODULE A is ok 
MODULE B is ok 
MODULE C is ok 
MODULE D is ok 
MODULE E is ok 
MODULE F is ok 
MODULE is fully completed 

原文地址:https://www.cnblogs.com/DjangoBlog/p/6099403.html