C++문법 공부

객체 맴버로 열거체(enum)사용하기

막뇌 2023. 6. 24. 03:04
//Point 클래스를 정의한다.
class Point
{
public:
	enum { MIN_X = 0, MAX_X = 100, MIN_Y = 0, MAX_Y = 100 };

	//맴버 함수
	void Print() const;
	void Offset(int x_delta, int y_delta);
	void Offset(const Point& pt);

	//생성자들
	Point();
	Point(int initialX, int initialY);
	Point(const Point& pt);

	//접근자
	void SetX(int value);
	void SetY(int value);
	int GetX() const { return x; };
	int GetY() const { return y; };

private:
	int x, y;
};

inline void Point::SetX(int value)
{
	if (value < MIN_X)
		x = MIN_X;
	else if (value > MAX_X)
		x = MAX_X;
	else
		x = value;
}
inline void Point::SetY(int value)
{
	if (value < MIN_Y)
		y = MIN_Y;
	else if (value > MAX_Y)
		y = MAX_Y;
	else
		y = value;
}

열거체를 사용한 인터페이스 파일을 무작정 예제를 따라서 타이핑 해 보았다.

enum { MIN_X = 0, MAX_X = 100, MIN_Y = 0, MAX_Y = 100 };

코드 가독성과 관리의 용이함을 위해 열거체를 사용했다.

Set 접근자에서 최대값과 최소값을 정해주는 용으로 사용했다.

 

클래스 외부에서 열거체를 참조하려면 Point::MAX_X 와 같은 방법으로 사용할 수 있다.

위와 같이 표현하면 클래스 외부에서도 Point 객체의 최대값 이면서, 100이라는 값을 불러 오고 싶을 때 적당히 쓸 수 있을 것 같다. 하지만 쓸일이 크게 많을 것 같지는 않다.