最新国产AV资源网_亚洲熟女AV天堂五月天_中文字幕丶东京热_中文字幕乱码免费高清视频

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

C++| 枚舉(enum)

發(fā)布時(shí)間:2023-11-24 13:58:29

在C++中定義變量時(shí),有的時(shí)候一個(gè)變量就有幾種可能的值,就像星期有七種可能的取值,人的性別有兩種可能的值一樣,在c語言中可以將變量的值一一列出來,而且他的范圍只限于列舉出來的值的范圍內(nèi)取值,我們把這種就叫做C++中的枚舉。

1、enum關(guān)鍵字

enum是C++中的一個(gè)關(guān)鍵字,enum叫枚舉數(shù)據(jù)類型,枚舉數(shù)據(jù)類型描述的是一組數(shù)據(jù)的集合,枚舉型是預(yù)處理指令#define的替代,枚舉和宏定義其實(shí)非常類似,宏在預(yù)處理階段將名字替換成對(duì)應(yīng)的值,枚舉在編譯階段將名字替換成對(duì)應(yīng)的值,

1、定義枚舉

枚舉數(shù)據(jù)(枚舉常量)是一些特定的標(biāo)識(shí)符,標(biāo)識(shí)符代表什么含義,完全由程序員決定。數(shù)據(jù)枚舉的順序規(guī)定了枚舉數(shù)據(jù)的序號(hào),默認(rèn)從0開始,依次遞增。

1)先聲明后定義

#include <iostream>
using namespace std;
enum RGB
{  
   R,G,B
};  
int main() {
 enum RGB rgb=G;
 cout << rgb << endl;
 return 0;
}

2)同時(shí)聲明和定義

#include <iostream>
using namespace std;
int main() {
 enum RGB
 {  
   R,G,B
 }  rgb;  
 rgb=B;
   cout << rgb << endl;
 return 0;
}

3)直接定義

#include <iostream>
using namespace std;
int main() {
 enum
 {  
   R,G,B
 }  rgb;  
 rgb=B;
   cout << rgb << endl;
 return 0;
}

枚舉值默認(rèn)是從0開始,也可以顯示指定。

例如,

#include <iostream>
using namespace std;
int main() {
 enum
 {  
   R=2,G,B
 }  rgb;  
 rgb=B;
   cout << rgb << endl;
 return 0;
}

2、枚舉使用示例

定義星期枚舉類型,并將初始值指定為1。

例如,

#include <iostream>
using namespace std;
/* 定義枚舉類型 */
enum DAY { MON=1,TUE,WED,THU,FRI,SAT,SUN};
int main()
{
   /* 使用枚舉類型聲明變量,再對(duì)枚舉型變量賦值 */
   enum DAY yesterday, today, tomorrow;
   yesterday = MON;
   today = TUE;
   tomorrow = WED;
   cout << yesterday << " " << today << " " << tomorrow << endl;
   return 0;
}

3、枚舉轉(zhuǎn)換

枚舉類型和int類型可以轉(zhuǎn)換,我們可以轉(zhuǎn)將int類型轉(zhuǎn)換成枚舉類型。

例如,

#include <iostream>
using namespace std;
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };
int main()
{
 enum DAY yesterday,today,tomorrow;
 yesterday = TUE;
 today = (enum DAY) (yesterday + 1);//類型轉(zhuǎn)換
 tomorrow = (enum DAY) 30; //類型轉(zhuǎn)換
 cout << yesterday << " " << today << " " << tomorrow << endl;
 return 0;
}

以上為本次所有分享內(nèi)容

上一篇:C++基礎(chǔ)| 指針數(shù)組
下一篇:C++| struct結(jié)構(gòu)體

歡迎登錄盛圖科技

歡迎注冊(cè)盛圖科技

已有賬號(hào),立即登錄