32 lines
2.4 KiB
MQL5
32 lines
2.4 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| TestVirtualFunction.mq5 |
|
|
//| Alexey Volchanskiy |
|
|
//| https://www.mql5.com/ru/users/vdev/ |
|
|
//+------------------------------------------------------------------+
|
|
//+------------------------------------------------------------------+
|
|
//| Script program start function |
|
|
//+------------------------------------------------------------------+
|
|
|
|
#include "TestVirtualFunction.mqh"
|
|
#include <Trade\AccountInfo.mqh>
|
|
#include <Trade\DealInfo.mqh>
|
|
|
|
input int FigureCount = 100;
|
|
enum EFigure {ENone, ERectangle, ETriangle, Ellipse, EEnd};
|
|
|
|
CObject* objarr[12];
|
|
|
|
void OnStart()
|
|
{
|
|
objarr[0] = new CAccountInfo;
|
|
// еще что-то подобное, кладем в массив указатели на объекты абсолютно разных классов, но с одним предков
|
|
objarr[11] = new CDealInfo;
|
|
// обращаемся и работаем
|
|
CAccountInfo * ai = (CAccountInfo*)objarr[0];
|
|
//
|
|
|
|
for(int n = 0; n < 12; n++)
|
|
if(CheckPointer(objarr[n]) == POINTER_DYNAMIC)
|
|
delete objarr[n];
|
|
|
|
}
|