작성
·
196
0
답변 2
1
안녕하세요. ㅎㅎ
1.
int y, x;
- 이 구조체의 변수들입니다.
Point(int y, int x) : y(y), x(x){}
- y, x를 받아 생성한다라는 의미입니다. class의 constructor라는 매직메서드를 생각하면 됩니다. 이 구조체를 기반으로 객체를 생성할 때 y, x를 받아 생성한다라는 의미입니다.
Point(){y = -1; x = -1; }
- 만약 y, x가 정해지지 않은 경우 기본값으로 -1, -1를 집어넣는다는 의미입니다.
bool operator < (const Point & a) const{
if(x == a.x) return y < a.y;
return x < a.x;
}
- 해당 구조체를 기반으로 만들어진 객체들끼리 비교해야 하는 경우가 있습니다. 예를 들어 PointA < PointB 처럼 말이죠. 그럴 때 비교하는 "기준"을 잡는 겁니다. 1순위는 x, 2순위는 y를 기반으로 크고 작음을 판단합니다.
해당 교안도 이부분은 업데이트 하겠습니다.
* &는 교안내의 이후에 나오는 주소값부분에 설명되어있습니다.
2. 네 가능합니다. 단 열심히 하셔야 해요.
감사합니다.
0