작성
·
131
0
#include<bits/stdc++.h>
using namespace std;
struct Point{
int y, x;
Point(int y, int x) : y(y), x(x){}
Point(){y = -1; x = -1; }
bool operator < (const Point & a) const{
if(x == a.x) return y < a.y;
return x < a.x;
}
};
vector<Point> v;
int main(){
for(int i = 10; i >= 1; i--){
Point a = {i, i};
v.push_back(a);
}
sort(v.begin(), v.end());
for(auto it : v) cout << it.y << " : " << it.x << '\n';
return 0;
}
안녕하세요 교안 공부중에 모르는 부분이 있어서 질문드립니다.
struct에 대해 잘 모르는 부분이 있다보니 아래 부분이 무슨의미인지 모르겠습니다.
bool operator는 이해했습니다.
Point(int y, int x) : y(y), x(x){} Point(){y = -1; x = -1; }
답변 2
1
0
안녕하세요.
constructor부분입니다.
이는 클래스의 인스턴스 객체를 생성하고 초기화하는 특별한 메서드를 뜻하구요.
기본값으로 y = -1, x = -1로 놓는다는 의미입니다.
이를 다른 언어로 설명을 하자면
자바스크립트의 class를 선언할 때 constructor로 이렇게 y = -1, x= -1로 선언하는 것을 볼 수 있습니다. 이와 같은 의미입니다.
감사합니다. :)
ㅎㅎ 또 질문 있으시면 언제든 질문주세요. :) 홧팅입니다.