//+------------------------------------------------------------------+ //| TestVirtualFunction.mq5 | //| Alexey Volchanskiy | //| https://www.mql5.com/ru/users/vdev/ | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ #include "TestVirtualFunction.mqh" #include #include 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]; }