Скачать MetaTrader 5

Compare

Сравнивает данные элемента списка с данными другого элемента списка.

virtual int  Compare(
   const CObject*  node,       // элемент 
   const int       mode=0      // вариант 
   ) const

Параметры

node

[in]  Указатель на элемент списка для сравнения

mode=0

[in]  Вариант сравнения

Возвращаемое значение

0 – в случае элементы списка равны, -1 – в случае если элемент списка меньше чем элемент списка для сравнения (node), 1 – в случае если элемент списка больше чем элемент списка для сравнения (node).

Примечание

Метод Compare() в классе CObject всегда возвращает 0 и не выполняет каких-либо действий. При необходимости сравнения данных класса-наследника, метод Compare(...) должен быть реализован. Параметр mode нужно использовать при реализации многовариантного сравнения.

Пример:

//--- example for CObject::Compare(...)
#include <Object.mqh>
//---
void OnStart()
  {
   CObject *object_first,*object_second;
   //---
   object_first=new CObject;
   if(object_first==NULL)
     {
      printf("Object create error");
      return;
     }
   object_second=new CObject;
   if(object_second==NULL)
     {
      printf("Object create error");
      delete object_first;
      return;
     }
   //--- set interconnect
   object_first.Next(object_second);
   object_second.Prev(object_first);
   //--- compare objects
   int result=object_first.Compare(object_second);
   //--- delete objects
   delete object_first;
   delete object_second;
  }