C++/C++

[C++] 열거형

메카인 2023. 2. 8. 02:23

◆열거형(Enumeration)

▷열거형이란 프로그래머가 프로그래밍을 할 때 가독성을 위해 탄생한 데이터 형태

▷열거형 자료에 숫자를 붙여서 사용할 수도 있다.

enum Month{
    //1부터 차례대로 FEB는 2, MAR는 3 자동할당
    JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEV
};

 

◆열거형은 상태를 나타내는 방법

▷비디오 게임은 여러가지 상태를 나타낼 수 있는데, PLAYING, PAUSED, WIN, LOSE 등 여러가지 상태가 있을 수 있고 이 ▷상태를 나타내는 방법으로 enum을 주로 사용한다.

 

◆enum의 종류 

▷일반적인 enum

▷클래스 내부의 enum

▷강화된 enum class 타입의 enum

- C++의 enum을 여러개 정의시 다른 열거형이라도 같은 이름의 상수를 가지게 된다면 컴파일 에러가 발생합니다. 이를 해결하기 위해서 class enum을 사용합니다.

enum Month{
    JAN=1,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEV
};

//enum class 미사용시 에러!
enum class HalfMonth{
    JAN,FEB,MAR,APR,MAY,JUN
};