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

C++枚舉類型用法總結(jié)(枚舉字符常量代替常量)

 更新時(shí)間:2020年12月09日 09:32:51   作者:三公子Tjq  
這篇文章主要介紹了C++枚舉類型用法總結(jié)(枚舉字符常量代替常量),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

C++枚舉類型enum表示枚舉,通常用于定義個(gè)新類型的字符常量,比如enum {January,February,March}。枚舉類型的作用域一般是整個(gè)文件或者類內(nèi)。當(dāng)枚舉類型定義在文件開頭時(shí),則作用域是從定義位置開始往后(不包括函數(shù)內(nèi)定義);當(dāng)枚舉類型在類內(nèi)定義時(shí),則作用域?yàn)檎麄€(gè)類內(nèi)。在類內(nèi)的頭文件定義和初始化枚舉類型,當(dāng)實(shí)例這個(gè)類的對(duì)象時(shí),枚舉類型不會(huì)占用空間,只是包含一個(gè)字符常量而已。

枚舉類型的定義可以在整個(gè)文件夾,也可以在類內(nèi)。當(dāng)在整個(gè)文件夾時(shí),所有枚舉量不能有相同的。當(dāng)在類內(nèi)時(shí),不同類的枚舉常量可以相同,不影響。下面給出具體代碼示例。

一、枚舉類型定義在類內(nèi)(用的是vs2013 IDE)

1.1新建一個(gè)控制臺(tái)應(yīng)用程序,然后在EnumTest.h,EnumTest.cpp,main.cpp中添加如下代碼

EnumTest.h

#pragma once
typedef unsigned long Item;
 
class CEnumTest
{
public:
	CEnumTest();
	~CEnumTest();
 
	const void show() const;		//后面的const表示該函數(shù)不可更改類對(duì)象,也即是不能更改類對(duì)象的成員變量
private:
	enum {One=1,Two=2,Three=3};
 
	Item item[Three];
};

EnumTest.cpp

#include "EnumTest.h"
#include <iostream>
 
CEnumTest::CEnumTest()
{
}
 
const void CEnumTest::show() const
{
	std::cout <<"this->Three=="<<this->Three<<std::endl;
}
 
CEnumTest::~CEnumTest()
{
}

main.cpp

#include <iostream>
#include "EnumTest.h"	
 
int main()
{
	CEnumTest *enumTest = new CEnumTest();
	enumTest->show();
 
	system("pause");
	return true;
}

1.2輸出結(jié)果如下

1.3總結(jié)

可以在類內(nèi)用枚舉定義多組字符常量,這些字符常量在類的頭文件中申明和賦值;雖然這些字符常量被賦值了,但是卻還是一個(gè)字符常量,而不是一個(gè)數(shù)值,一般枚舉字符常量跟switch搭配使用。假如這些枚舉字符常量被賦值給整形或者浮點(diǎn)型,則C++11新標(biāo)準(zhǔn)會(huì)自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)類型,編譯器默認(rèn)是用整形常量表示一個(gè)枚舉類型字符常量的。

二、枚舉類定義

枚舉類的作用域同樣是在定義的類內(nèi),但是枚枚舉類是專門為枚舉創(chuàng)建的類,也就是說(shuō),只能用于枚舉。

2.1聲明代碼如下

enum class Data1{ First = 1, Second = 2, Third = 3 };
enum class Data2{ First = 7, Second = 8, Fourth = 9 };

2.2調(diào)用代碼如下

#include <iostream>
#include "EnumTest.h"	
 
enum class Data1{ First = 1, Second = 2, Third = 3 };
enum class Data2{ First = 7, Second = 8, Fourth = 9 };
 
int main()
{
	CEnumTest *enumTest = new CEnumTest();
	enumTest->show();
 
	/*枚舉類*/
	std::cout << "(int)Data1::First==" << (int)Data1::First << std::endl;	//枚舉類Data1可以直接用作用域解析運(yùn)算符::調(diào)用對(duì)應(yīng)枚舉成員常量Data1::First
	std::cout << "(int)Data2::First==" << (int)Data2::First << std::endl;	//枚舉類Data2可以直接用作用域解析運(yùn)算符::調(diào)用對(duì)應(yīng)枚舉成員常量Data2::First
 
	system("pause");
	return true;
}

2.3輸出結(jié)果如下

2.4總結(jié)

由上面結(jié)果可知,枚舉類定義后,可以直接用作用域解析運(yùn)算符::直接調(diào)用對(duì)應(yīng)枚舉類的成員常量Data1::First,可以當(dāng)成一個(gè)常量來(lái)調(diào)用。

以前C語(yǔ)言枚舉的常規(guī)調(diào)用就是在枚舉類中去掉class就可以了,即下面代碼

enum Data1{ First = 1, Second = 2, Third = 3 };

其它用法跟上面兩個(gè)基本一樣,就不介紹了。

參考內(nèi)容:

C++ Primer Plus》(第6版)中文版  372-373頁(yè)

以上就是C++枚舉類型用法總結(jié)(枚舉字符常量代替常量)的詳細(xì)內(nèi)容,更多關(guān)于C++ 枚舉的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++容器算法示例詳解

    C++容器算法示例詳解

    在談到容器算法,我們大概率會(huì)用到謂詞predicate,謂詞返回的類型是布爾類型(bool)可以是lambda表達(dá)式、函數(shù)對(duì)象以及其它可調(diào)用的對(duì)象,這篇文章主要介紹了C++容器算法,需要的朋友可以參考下
    2024-08-08
  • C語(yǔ)言實(shí)現(xiàn)雙人五子棋游戲

    C語(yǔ)言實(shí)現(xiàn)雙人五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)雙人五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++實(shí)現(xiàn)雙向起泡排序算法

    C++實(shí)現(xiàn)雙向起泡排序算法

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)雙向起泡排序算法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • C++實(shí)現(xiàn)LeetCode(25.每k個(gè)一組翻轉(zhuǎn)鏈表)

    C++實(shí)現(xiàn)LeetCode(25.每k個(gè)一組翻轉(zhuǎn)鏈表)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(25.每k個(gè)一組翻轉(zhuǎn)鏈表),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言kmp算法簡(jiǎn)單示例和實(shí)現(xiàn)原理探究

    C語(yǔ)言kmp算法簡(jiǎn)單示例和實(shí)現(xiàn)原理探究

    這篇文章主要介紹了C語(yǔ)言kmp算法簡(jiǎn)單示例和實(shí)現(xiàn)原理探究,本文用簡(jiǎn)潔的語(yǔ)言說(shuō)明KMP算法的原理,并給出了示例,需要的朋友可以參考下
    2014-09-09
  • C語(yǔ)言JNI的動(dòng)態(tài)注冊(cè)詳解

    C語(yǔ)言JNI的動(dòng)態(tài)注冊(cè)詳解

    這篇文章主要介紹了JAVA JNI的動(dòng)態(tài)注冊(cè),這里提供簡(jiǎn)單實(shí)例代碼,需要的朋友可以參考下,小編覺(jué)得寫的還不錯(cuò),希望能給你帶來(lái)幫助
    2021-08-08
  • C語(yǔ)言求圓周率的簡(jiǎn)單實(shí)現(xiàn)方法

    C語(yǔ)言求圓周率的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要介紹了C語(yǔ)言求圓周率的簡(jiǎn)單實(shí)現(xiàn)方法,涉及C語(yǔ)言數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • C語(yǔ)言實(shí)現(xiàn)單位車輛調(diào)度管理

    C語(yǔ)言實(shí)現(xiàn)單位車輛調(diào)度管理

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)單位車輛調(diào)度管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 12個(gè)關(guān)于C語(yǔ)言的有趣問(wèn)答

    12個(gè)關(guān)于C語(yǔ)言的有趣問(wèn)答

    這篇文章主要介紹了12個(gè)關(guān)于C語(yǔ)言的有趣問(wèn)答,有助于讀者加深對(duì)C語(yǔ)言程序設(shè)計(jì)的理解,需要的朋友可以參考下
    2014-07-07
  • C++實(shí)現(xiàn)藍(lán)橋杯競(jìng)賽題目---搭積木

    C++實(shí)現(xiàn)藍(lán)橋杯競(jìng)賽題目---搭積木

    這篇文章主要介紹了C++實(shí)現(xiàn)藍(lán)橋杯競(jìng)賽題目---搭積木,本篇文章通過(guò)題目分析列舉公式進(jìn)行分析算法,包含詳細(xì)的圖文,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論