亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

枚舉類型的定義和應(yīng)用總結(jié)

 更新時(shí)間:2013年10月16日 09:13:18   作者:  
如果一種變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉類型”是將變量的值一一列舉出來(lái),變量的值只能在列舉出來(lái)的值的范圍內(nèi)

定義:
如果一種變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉類型”是將變量的值一一列舉出來(lái),變量的值只能在列舉出來(lái)的值的范圍內(nèi)。

聲明:
聲明枚舉類型用enum開(kāi)頭,例如:

復(fù)制代碼 代碼如下:

enum weekday{sun,mon,tue,wed,thu,fri,sat};

上面聲明了一個(gè)枚舉類型weekday,花括號(hào)中的sun,mon,。。。。sat等稱為枚舉元素或枚舉常量。

這些枚舉常量,不會(huì)因?yàn)槲覀儗懥藄un就自動(dòng)代表著“星期天”,它只是一個(gè)符號(hào),究竟用來(lái)代表什么含義,完全卻決于程序員自己對(duì)它們的處理。


表示這個(gè)類型的變量的值只能是以上7個(gè)值之一,他們是用戶自己定義的標(biāo)識(shí)符。

在聲明了枚舉類型之后,就可以用它開(kāi)定義變量。如

復(fù)制代碼 代碼如下:

weekday workday,week_end;

這樣,workday和week_end被定義為枚舉類型weekday的變量。

說(shuō)明:
(1)對(duì)枚舉元素按照常量處理,故稱為枚舉常量。它們不是變量,不能對(duì)他們賦值。

(2)枚舉元素作為常量,它們是有值的,C++編譯按定義時(shí)的順序?qū)λ鼈冑x值為0,1,2,3,......

復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun,mon,tue,wed,thu,fri,sat};
 weekday one;
 one=sun;
 cout<<one;
 cout<<endl;
}



我們也卡一在聲明枚舉類型時(shí),另行指定枚舉元素的值,如
復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
 weekday one,two;
 one=sun;
 two=wed;
 cout<<one<<endl;
 cout<<two<<endl;
 cout<<endl;
}


指定sun為7,mon為1,以后按順序加1,sat為6。

(3)枚舉值可以用來(lái)做比較。

枚舉值的比較規(guī)則是按其在聲明枚舉類型時(shí)的順序號(hào)比較。如果定義時(shí)未人為指定,則第一個(gè)枚舉元素的值認(rèn)作0.

復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
 weekday one,two;
 one=sun;
 two=wed;
        cout<<(sun>wed?sun:wed);
 cout<<endl;
}



(4)一個(gè)整數(shù)不能直接賦給一個(gè)枚舉變量,應(yīng)先進(jìn)行強(qiáng)制類型轉(zhuǎn)換才能賦值。
復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun,mon,tue,wed,thu,fri,sat};
 weekday one;
 one=weekday(7);
 cout<<one;
 cout<<endl;
}



以上的語(yǔ)句是將序號(hào)為2的枚舉元素賦給one。相當(dāng)于
復(fù)制代碼 代碼如下:

 one=sun;

一個(gè)例子:
口袋中有紅、黃、藍(lán)、白、黑5種顏色的球若干。每次從口袋中任意取出3個(gè)球,問(wèn)得到3中不同顏色的球的可能取法,輸出每種排列的情況。

分析:球的顏色只有5種,每一個(gè)球的顏色只能是這5種之一,因此可以用枚舉類型變量來(lái)處理。

復(fù)制代碼 代碼如下:

/*******
設(shè)某一次取出的顏色為i,j,k。顯然,i,j,k都是以上5中顏色之一,根據(jù)題意,
要求i,j,k三者互不相同??梢杂酶F舉法,對(duì)每一種可能分別進(jìn)行測(cè)試,看那一組符合條件
*****/
#include<iostream>
using namespace std;
int main(){
   enum color{red,yellow,blue,white,black};
   color pri;
   int i,j,k,n=0,loop;
   for(i=red;i<=black;i++){
    for(j=red;j<=black;j++)
     if(i!=j){
      for(k=red;k<=black;k++){
       if(k!=i&&k!=j){
        n++;//使n累加,統(tǒng)計(jì)可能的抽取情況
        cout<<n<<"\t";
        for(loop=0;loop<3;loop++){//通過(guò)循環(huán),輸出該次i,j,k所對(duì)應(yīng)的顏色
         switch(loop){
          case 0:pri=color(i);break;
          case 1:pri=color(j);break;
          case 2:pri=color(k);break;
         }
         switch(pri){
          case red:   cout<<"red\t";break;
          case yellow:cout<<"yellow\t";break;
          case blue:  cout<<"blue\t";break;
          case white: cout<<"white\t";break;
          case black: cout<<"black\t";break;
         }
        }
        cout<<endl;
       }
      }
    }
   }
   cout<<"total:"<<n<<endl;
}

相關(guān)文章

  • C++ primer超詳細(xì)講解泛型算法

    C++ primer超詳細(xì)講解泛型算法

    泛型編程,故如其名,是一個(gè)泛化的編程方式。其實(shí)現(xiàn)原理為程序員編寫一個(gè)函數(shù)/類的代碼示例,讓編譯器去填補(bǔ)出不同的函數(shù)實(shí)現(xiàn)
    2022-07-07
  • 淺談C語(yǔ)言的字節(jié)對(duì)齊 #pragma pack(n)2

    淺談C語(yǔ)言的字節(jié)對(duì)齊 #pragma pack(n)2

    下面小編就為大家?guī)?lái)一篇淺談C語(yǔ)言的字節(jié)對(duì)齊 #pragma pack(n)2。小編覺(jué)得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Qt中JSON使用的詳細(xì)步驟

    Qt中JSON使用的詳細(xì)步驟

    本文主要介紹了Qt中JSON使用的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • C++STL函數(shù)和排序算法的快排以及歸并排序詳解

    C++STL函數(shù)和排序算法的快排以及歸并排序詳解

    這篇文章主要為大家詳細(xì)介紹了C++STL函數(shù)和排序算法的快排以及歸并排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Qt編寫地圖之實(shí)現(xiàn)覆蓋物坐標(biāo)和搜索

    Qt編寫地圖之實(shí)現(xiàn)覆蓋物坐標(biāo)和搜索

    地圖應(yīng)用中經(jīng)常會(huì)需要有覆蓋物坐標(biāo)和搜索的功能,本文將利用Qt實(shí)現(xiàn)這一功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • 利用C++編寫簡(jiǎn)易寶可夢(mèng)對(duì)戰(zhàn)小游戲

    利用C++編寫簡(jiǎn)易寶可夢(mèng)對(duì)戰(zhàn)小游戲

    本文利用C++語(yǔ)言編寫了一個(gè)小時(shí)候課間嘴上玩的那種寶可夢(mèng)游戲,只有早期的三個(gè)寶可夢(mèng)和基礎(chǔ)招式,感興趣的朋友快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C++如何實(shí)現(xiàn)二叉樹(shù)鏈表

    C++如何實(shí)現(xiàn)二叉樹(shù)鏈表

    這篇文章主要介紹了C++如何實(shí)現(xiàn)二叉樹(shù)鏈表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 一文搞懂C語(yǔ)言中的文件操作

    一文搞懂C語(yǔ)言中的文件操作

    文件操作想必大家掌握的并不熟練,確實(shí)因?yàn)槲覀冇玫牟⒉欢啵竟?jié)內(nèi)容能夠讓大家初步認(rèn)識(shí)文件操作,從文件認(rèn)識(shí)到文件使用,讓我們對(duì)c語(yǔ)言文件操作有個(gè)初步的了解
    2022-11-11
  • 學(xué)好C++必須做到的50條 絕對(duì)經(jīng)典!

    學(xué)好C++必須做到的50條 絕對(duì)經(jīng)典!

    學(xué)好C++必須做到的50條,絕對(duì)經(jīng)典!想要學(xué)好C++的朋友一定要認(rèn)真閱讀本文,更要做到以下50條
    2016-09-09
  • 深入淺析OpenCV?copyTo()函數(shù)

    深入淺析OpenCV?copyTo()函數(shù)

    在Mat矩陣類的成員函數(shù)中copyTo(roi , mask)函數(shù)是非常有用的一個(gè)函數(shù),尤其是后面的mask可以實(shí)現(xiàn)蒙版的功能,下面通過(guò)本文給大家介紹下OpenCV copyTo()函數(shù)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-01-01

最新評(píng)論