日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)

發(fā)布時間:2023/11/27 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
?

新手入門:C/C++中枚舉類型(enum)

  如果一個變量你需要幾種可能存在的值,那么就可以被定義成為枚舉類型。之所以叫枚舉就是說將變量或者叫對象可能存在的情況也可以說是可能的值一一例舉出來。

  舉個例子來說明一吧,為了讓大家更明白一點,比如一個鉛筆盒中有一支筆,但在沒有打開之前你并不知道它是什么筆,可能是鉛筆也可能是鋼筆,這里有兩種可能,那么你就可以定義一個枚舉類型來表示它!

enum?box{pencil,pen};//這里你就定義了一個枚舉類型的變量叫box,這個枚舉變量內(nèi)含有兩個元素也稱枚舉元素在這里是pencil和pen,分別表示鉛筆和鋼筆。

  這里要說一下,如果你想定義兩個具有同樣特性枚舉類型的變量那么你可以用如下的兩種方式進(jìn)行定義!

enum?box{pencil,pen};?
?
enum?box?box2;//或者簡寫成box?box2;

  再有一種就是在聲明的時候同時定義。

enum?{pencil,pen}box,box2;?//在聲明的同時進(jìn)行定義!

  枚舉變量中的枚舉元素系統(tǒng)是按照常量來處理的,故叫枚舉常量,他們是不能進(jìn)行普通的算術(shù)賦值的,(pencil=1;)這樣的寫發(fā)是錯誤的,但是你可以在聲明的時候進(jìn)行賦值操作!

enum?box{pencil=1,pen=2};

? 但是這里要特別注意的一點是,如果你不進(jìn)行元素賦值操作那么元素將會被系統(tǒng)自動從0開始自動遞增的進(jìn)行賦值操作,說到自動賦值,如果你只定義了第一個那么系統(tǒng)將對下一個元素進(jìn)行前一個元素的值加1操作,例如

enum?box{pencil=3,pen};//這里pen就是4系統(tǒng)將自動進(jìn)行pen=4的定義賦值操作!

  前面說了那么多,下面給出一個完整的例子大家可以通過以下的代碼的學(xué)習(xí)進(jìn)行更完整的學(xué)習(xí)!

#include?<iostream>?
using?namespace?std;?
?
void?main(void)?
{?
????enum?egg?{a,b,c};?
????enum?egg?test;?//在這里你可以簡寫成egg?test;?
?
????test?=?c;?//對枚舉變量test進(jìn)行賦予元素操作,這里之所以叫賦元素操作不叫賦值操作就是為了讓大家明白枚舉變量是不能直接賦予算數(shù)值的,例如(test=1;)這樣的操作都是不被編譯器所接受的,正確的方式是先進(jìn)行強(qiáng)制類型轉(zhuǎn)換例如(test?=?(enum?egg)?0;)!?
?
????if?(test==c)?
????{?
????????cout?<<"枚舉變量判斷:test枚舉對應(yīng)的枚舉元素是c"?<<?endl;?
????}?
?
????if?(test==2)?
????{?
????????cout?<<"枚舉變量判斷:test枚舉元素的值是2"?<<?endl;?
????}?
?
????cout?<<?a?<<?"|"?<<?b?<<?"|"?<<?test?<<endl;?
?
????test?=?(enum?egg)?0;?//強(qiáng)制類型轉(zhuǎn)換?
????cout?<<?"枚舉變量test值改變?yōu)?"?<<?test?<<endl;?
????cin.get();?
}

  看到這里要最后說一個問題,就是枚舉變量中的枚舉元素(或者叫枚舉常量)在特殊情況下是會被iostream>?
using?namespace?std;?
?
void?main(void)?
{?
????enum?test?{a,b};?
????int?c=1+b;?//自動提升為算術(shù)類型?
????cout?<<?c?<<endl;?
????cin.get();?
}

?
?

轉(zhuǎn)載于:https://www.cnblogs.com/landv/p/11184652.html

總結(jié)

以上是生活随笔為你收集整理的《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。