列挙型enum

いくつかの状態をプログラムで記述したいとします。例えば、信号機なら赤と青と黄で状態を定義し、赤を1、青を2、黄を3とします。このように整数型があれば、状態を記述できます。しかし、1、2、3で記述していると、コードが読みにくくなります。できれば、red、blue、yellowのような文字で記述したいものです。そのような場合に使用するのが列挙型enumです。

enumの使い方

enumは以下のような方法で状態を定義します。

enumの定義

enum 名前{状態1,状態2,状態3,…};

名前に列挙型の名前、状態に好きな状態の名前を記述します。例えば、

enum color{red,yellow,blue};

とすれば、色の状態として赤、黄、青を定義できます。状態1に数値の0、状態2に数値の1、状態3に数値の2が対応します。この対応関係を変えたい場合は、

enumの定義2

enum 名前{状態1=数値,…};

のようにします。

次にenumの変数を定義するときは

enumの宣言

名前 変数名;

とします。先ほどの例なら

color c;

でcolor型の変数cを定義できます。

使用例

以下に使用例をのせます。

#include <iostream>
using namespace std;
 
enum number{one,two,three};
enum color{red,yellow=5,blue};
 
int main(void){
    number n[3];
	n[0]=one;
	n[1]=two;
	n[2]=three;
	cout << n[0] << n[1] << n[2] << endl;
	
    color c[3];
	c[0]=red;
	c[1]=yellow;
	c[2]=blue;
    cout << c[0] << c[1] << c[2] << endl;

    return 0;
}
012
056

colorはyellow=5としているので、red=0,yellow=5,blue=6が対応するようになります。

著者:安井 真人(やすい まさと)