Compare

Compare les données d'un élément de la liste avec les données d'un autre élément de la liste.

virtual int  Compare(
   const CObject*  node,     // Node avec lequel comparer l'objet
   const int       mode=0    // Mode de comparaison
   ) const

Paramètres

node

[in]  Pointeur vers un élément de la liste à comparer

mode=0

[in]  Mode de comparaison

Valeur de Retour

0 - si les 2 éléments de la liste sont identiques, -1 - si l'élément de la liste est inférieur à l'élément de comparaison (node), 1 - si l'élément de la liste est supérieur à l'élément de comparaison (node).

Note

La méthode Compare () de la classe CObject retourne toujours 0 et n'exécute aucune action. Si vous désirez comparer des données de classes dérivées, la méthode Compare (...) doit être implémentée. Le paramètre 'mode' devrait être utilisé dans le cas de comparaison où plusieurs variantes sont possibles.

Exemple :

//--- exemple d'utilisation de 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;
     }
   //--- définit le lien entre les éléments
   object_first.Next(object_second);
   object_second.Prev(object_first);
   //--- compare les objets
   int result=object_first.Compare(object_second);
   //--- supprime les objets
   delete object_first;
   delete object_second;
  }