• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

IComparable의 구현부 관련 질문입니다.

22.01.10 17:50 작성 조회수 148

0

IComparable을 설명하시면서 class Knight : IComparable<Knight>에서는

public int CompareTo(Knight other)

        {

            if (Id == other.Id)

                return 0;

            return Id > other.Id ? 1 : -1;

        }

라는 IComparable의 구현부가 필요하다고 하셨는데 어째서

class PriorityQueue<T> where T : IComparable<T>는 위처럼 따로 구현부를 만들어주지 않았는데도 잘 작동하는 건가요?

답변 1

답변을 작성해보세요.

0

class PriorityQueue<T>의 T는 Generic이라
뒤늦게 넣어주는 T가 IComparable을 만족해야 합니다.

네 만족해야 하는 건 알겠는데 그거랑 구현부를 안 만든 거랑 무슨 상관인지 검색해 봐도 안 나와서요..

T는 아직 미정인 상태라 딱히 뭔가를 요구하지 않고,
<T> 안에 무엇인가 들어갈 때 실체화 되므로 (ex: Knight)
그 아이가 CompareTo를 구현해야 합니다.

감사합니다!