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이라는 값을 불러 오고 싶을 때 적당히 쓸 수 있을 것 같다. 하지만 쓸일이 크게 많을 것 같지는 않다.