Compare

Compara los datos de un ítem de la lista con los datos de otro elemento de la lista.

virtual int  Compare(
   const CObject*  node,     // Nodo con el que se lleva a cabo la comparación
   const int       mode=0    // Modo de comparación
   ) const

Parámetros

node

[in]  Puntero a un ítem de la lista para hacer la comparación

mode=0

[in]  Variante de la comparación

Valor devuelto

0 - si los ítemes de la lista son iguales, -1 - si el ítem de la lista es menor que el ítem de la lista de comparación (nodo), 1 - si el ítem de la lista es mayor que el ítem de la lista de comparación (nodo).

Nota

El método Compare () de la clase CObject siempre devuelve 0 y no lleva a cabo ninguna acción. Si se desea comparar datos en clases derivadas, se tiene que implementar el método Compare (...). El modo de comparación debe utilizarse cuando se implementa la comparación multivariada.

Ejemplo:

//--- ejemplo de CObject::Compare(...)
#include <Object.mqh>
//---
void OnStart()
  {
   CObject *object_first,*object_second;
   //---
   object_first=new CObject;
   if(object_first==NULL)
     {
      printf("Error en la creación del objeto");
      return;
     }
   object_second=new CObject;
   if(object_second==NULL)
     {
      printf("Error en la creación del objeto");
      delete object_first;
      return;
     }
   //--- establece la interconexión
   object_first.Next(object_second);
   object_second.Prev(object_first);
   //--- compara objetos
   int result=object_first.Compare(object_second);
   //--- borra los objetos
   delete object_first;
   delete object_second;
  }