Compare

목록 요소의 데이터와 다른 목록 요소의 데이터를 비교하기.

virtual int  Compare(
   const CObject*  node,     // 요소
   const int       mode=0    // 변형
   ) const

매개변수

노드

[in]  비교할 목록 요소에 대한 포인터

mode=0

[in]  비교 변형

값 반환

목록 요소가 동일한 경우 0, 목록 요소가 비교에 사용되는 요소(노드)보다 작으면 -1, 목록 요소가 비교에 사용되는 요소(노드)보다 크면 1.

참고

CObject 클래스의 Compare() 메서드는 항상 0을 반환하며 아무 작업도 수행하지 않습니다. 파생 클래스의 데이터를 비교하려면 Compare(...) 방법을 구현해야 합니다. 다변 비교를 구현할 때 '모드' 매개변수를 사용해야 합니다.

예시:

//--- CObject::Compare(...) 예시
#include <Object.mqh>
//---
void OnStart()
  {
   CObject *object_first,*object_second;
   //---
   object_first=new CObject;
   if(object_first==NULL)
     {
      printf("개체 생성 오류");
      return;
     }
   object_second=new CObject;
   if(object_second==NULL)
     {
      printf("개체 생성 오류");
      delete object_first;
      return;
     }
   //--- 상호 연결 설정
   object_first.Next(object_second);
   object_second.Prev(object_first);
   //--- 개체 비교하기
   int result=object_first.Compare(object_second);
   //--- 개체 삭제하기
   delete object_first;
   delete object_second;
  }