값을 가져갈 수있는 속성 상태가있는 클래스 C가 있다고 가정 해 보겠습니다. 상태 변수를 정수로 나타내지 않고 대신 열거 형을 사용할 수 있습니다 (ofc는 기본적으로 정수입니다). 예를 들어,클래스 내의 열거 형
class C{
public:
enum state {down = -1, flat = 0, up = 1};
C(state s = flat) : st(s) {}
private:
state st;
};
열거 형을 클래스의 public 섹션 내에 두는 이유는 다른 개체에서도이 열거 형 목록을 사용할 수 있기 때문입니다. 그들은
C::up
으로 값을 검색해야합니다. 내 질문은 : enum 선언을 클래스 정의 내부에 배치하거나 외부에 (예 : 바로 위에) 배치하는 "모범 사례"입니까? 열거 형은 해당 클래스에 의미가있는 값/상태를 나타내면 클래스 정의 내에 배치하는 것이 직관적 인 것으로 느껴집니다.
감사합니다.
적어도 네임 스페이스 내에 배치하는 것은 동의합니다 (본질적으로 클래스 정의 내의 공용 섹션에 배치하여 달성하는 것입니다). 네가 말했듯이 자유로운 떠 다니는 열거 형을 피하기 위해서. – jensa