switch参数类型

支持的类型有:int,short,long,char,enum,bool

不支持的类型:float,double,string

测试代码:

  1 void SwitchParamTest()
  2 {
  3     //int 
  4     int nV = 3;
  5     switch ( nV )
  6     {
  7     case 3 :
  8         cout << "int    is ok" << endl;
  9         break;
 10     default:
 11         break;
 12     }
 13 
 14     //short
 15     short stV = 1;
 16     switch ( stV )
 17     {
 18     case 1 :
 19         cout << "short    is ok" << endl;
 20         break;
 21     default:
 22         break;
 23     }
 24 
 25     //long
 26     long lV = 5;
 27     switch ( lV )
 28     {
 29     case 5 :
 30         cout << "long    is ok" << endl;
 31         break;
 32     default:
 33         break;
 34     }
 35 
 36     //char
 37     char cV = 'a';
 38     switch ( cV )
 39     {
 40     case 'a' :
 41         cout << "char    is ok" << endl;
 42         break;
 43     default:
 44         break;
 45     }
 46 
 47     //bool
 48     bool bV = true;
 49     switch ( bV )
 50     {
 51     case true :
 52         cout << "bool    is ok" << endl;
 53         break;
 54     default:
 55         break;
 56     }
 57 
 58     //enum
 59     enum enType{
 60         en_first,
 61         en_second,
 62     };
 63     enType enV = en_second;
 64     switch ( enV )
 65     {
 66     case en_second :
 67         cout << "enum    is ok" << endl;
 68         break;
 69     default:
 70         break;
 71     }
 72 
 73     //下面的编译出错(string,float,double)
 74 
 75     //string
 76 //     string sV = "abc";
 77 //     switch ( sV )
 78 //     {
 79 //     case "abc" :
 80 //         cout << "string    is ok" << endl;
 81 //         break;
 82 //     default:
 83 //         break;
 84 //     }
 85 
 86     //float
 87 //     float fV = 0.1;
 88 //     switch ( fV )
 89 //     {
 90 //     case 0.1:
 91 //         cout << "float    is ok" << endl;
 92 //         break;
 93 //     default:
 94 //         break;
 95 //     }
 96 
 97     //double
 98 //     double dbV = 0.2;
 99 //     switch ( dbV )
100 //     {
101 //     case 0.2:
102 //         cout << "double    is ok" << endl;
103 //         break;
104 //     default:
105 //         break;
106 //     }
107 
108 }

输出结果:

 

posted @ 2014-02-19 11:40  weiquxiong  阅读(402)  评论(0)    收藏  举报