Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй статью. Миллионы трейдеров ждут хороших идей!
Vasiliy Sokolov
21132
Vasiliy Sokolov 2010.07.23 13:38 

В MQL5 есть ключевое слово

static 

Это вроде бы должно подразумевать вызов методов без создания экземпляров самого класса. Допустим имеем класс TOrders:

 

static class TOrders
{
public:
int GetOrdersTotal()const;
};

int TOrders::GetOrdersTotal() const
{
return(OrdersTotal());
}

 

Теперь вызываем функцию прямо из класса, без создания экземпляра:

TOrders me; 

void OnTick()
{
   
  TOrders.GetOrderTotal(); <-- А вот так почему-то нет.
  me.GetOrdersTotal(); <-- Так можно
}

 Странно, ведь TOrders объявлен как статический класс. Явное создание экземляра при этом требоваться не должно. Вообще эта штука довольно удобная, более половины всех вспомогательных классов могли бы быть статическими. Явное создание экземпляров в них совершенно излишне.
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
Ilyas
1205
Ilyas 2010.07.23 13:46  
К сожалению, static для методов и членов класса пока не поддерживается компилятором. Вопрос по его введению открыт и пока его рассмотрение отложено.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий