Прочитал статью " Рецепты MQL - пишем свой стакан цен" https://www.mql5.com/ru/articles/1793 . В приложенных файлах почему-то нет полного кода, который описан в статье. Фраза из статьи: "Все расчеты также непосредственно перенесем в класс стакана цен CMarketBook, для чего напишем специальный расчетный подкласс CBookCalculation, находящийся внутри CMarketBook. Ниже приведем его исходный код: " .
Код приведен, а вот как вставить этот подкласс в класс чтобы члены подкласса были видны в классе CMarketBook не сказано. До автора как-то не достучатьтся , может кто подскажет как это реализовать?
Прочитал статью " Рецепты MQL - пишем свой стакан цен" https://www.mql5.com/ru/articles/1793 . В приложенных файлах почему-то нет полного кода, который описан в статье. Фраза из статьи: "Все расчеты также непосредственно перенесем в класс стакана цен CMarketBook, для чего напишем специальный расчетный подкласс CBookCalculation, находящийся внутри CMarketBook. Ниже приведем его исходный код: " .
Код приведен, а вот как вставить этот подкласс в класс чтобы члены подкласса были видны в классе CMarketBook не сказано. До автора как-то не достучатьтся , может кто подскажет как это реализовать?
Внутри класса можно определить экземпляр другого класса.
Пример:
class Class1 { public: Class1(); ~Class1(); double Value; }; ..... class Class2 { private: Class1 CLS;//экземпляр класса Class1 public: Class2(); ~Class2(); double SetValue(double value){CLS.Value = value}; }; ....
Внутри класса можно определить экземпляр другого класса.
Пример:
Или другой класс
class A { public: class B { public: int b; }; int a; void SetB() { B cb; cb.b = 123; }; }; void OnStart() { A ca; ca.SetB(); }
***
Или другой класс
***
Какой в этом смысл? Что-нибудь меняется по сравнению с описанием класса снаружи? Ничего не меняется.
Какой в этом смысл? Что-нибудь меняется по сравнению с описанием класса снаружи? Ничего не меняется.
Какой в этом смысл? Что-нибудь меняется по сравнению с описанием класса внутри? Ничего не меняется.
Но часто встречается. Надо знать.
Какой в этом смысл? Что-нибудь меняется по сравнению с описанием класса внутри? Ничего не меняется.
Но часто встречается. Надо знать.
И так и так будет работать. Тут дело привычки. Мне например удобнее отлаживать когда класс в отдельном файле описан и реализован, особенно когда много строчек кода упрощает отладку.
Я тоже всегда в отдельном файле делаю.
И не совсем в тему, но похоже. В С++ собираются ввести (или уже ввели??) вложенные (nested) функции. Вот это было бы реально полезное дополнение в MQL. А пока можно эмулировать вот так. В GCC они есть, как нестандартное расширение.
void outer() { static int v1 = 5; int v2 = 5; struct thru { static void inner() { v1++; v2++; // ошибка, нет доступа } }; thru::inner(); }
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Прочитал статью " Рецепты MQL - пишем свой стакан цен" https://www.mql5.com/ru/articles/1793 . В приложенных файлах почему-то нет полного кода, который описан в статье. Фраза из статьи: "Все расчеты также непосредственно перенесем в класс стакана цен CMarketBook, для чего напишем специальный расчетный подкласс CBookCalculation, находящийся внутри CMarketBook. Ниже приведем его исходный код: " .
Код приведен, а вот как вставить этот подкласс в класс чтобы члены подкласса были видны в классе CMarketBook не сказано. До автора как-то не достучатьтся , может кто подскажет как это реализовать?