Orientação a Objeto no MQL

 

Pessoal, é possível eu adicionar dentro de um CArrayList um objeto ? Ex: 

#include <Generic\ArrayList.mqh>

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart() {

   // minha classe 
   CPessoa *p;
    
   // arrayList com
   CArrayList<CPessoa> minhaLista = new CArrayList<CPessoa>();

   for(int i = 0; i < 5; i++) {

      //criacao do novo objecto CPessoa
      p = new CPessoa();
      
      //adiciona os valores
      p.nome = "Nome " + i;
      p.sobrenome = "Sobrenome " + i;
      p.idade = i * 2 + 1;

      //adiciona o objeto CPessoa ao array
      listObjetoPessoa.Add(p);
   }
}

class CPessoa {
 public:
   CPessoa(void) {};
   ~CPessoa(void) {};

   string nome;
   string sobrenome;
   int idade;
};
Razão: