인프런 커뮤니티 질문&답변

marlone Johnathan님의 프로필 이미지

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

구조체 관련 질문 드립니다.

작성

·

207

0

제가 C++은 처음이라, 

이 부분이 이해가 되지 않는데 교안을 봐도 잘 모르겠어서요, 혹시 조금 더 자세하게 설명해주실 수 있을까요?

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. marlone Johnathan님 ㅎㅎ

이것은 연산자(operator) 오버로딩입니다. 이는 말 그대로 연산자를 오버로딩하는 것이죠. 

연산자는 <, >, 등이 있습니다. 이러한 것이 연산자인데 저 오버로딩은 다음과 같은 의미입니다. 

예를 들어 숫자 1, 2, 3을 정렬한다고 해보죠. 그냥 1, 2, 3 에는 <라는 연산만이 필요하죠? 

하지만 구조체를 정렬해본다고 해볼게요. 

a.x = 1

b.x = 2

c.x = 3

이런식으로 x라는 속성값에 어떠한 값이 담기는데 이걸 그냥 <라는 연산자로 정렬이 불가능하겠죠?

 

그렇기 때문에 이 구조체에 "맞는" 연산자를 새로이 정의 하는 것입니다.  

 

또 질문사항있으시면 언제든 말씀 부탁드립니다. 

감사합니다. 

강사 큰돌 올림. 

0

point(int y, int  x) : y(y), x(x) 이 부분에  y(y), x(x)은 무엇인고 아래는 기본 생성자라서 -1값을 초기화하는것 같은데,  그 아래 bool operator는 무엇인지 감조차 잡히지 않아서 질문드립니다.