Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2038
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за ответ.
Ничего не понял)
Буду признателен за ссылку на пример
https://docs.mql4.com/ru/basis/oop/virtual
Сейчас попробовал, работает с virtual и без него одинаково.
Функция, определенная в базовом классе, и пререопределенная в производных классах, работает корректно и с virtual и без...
Т.е., при вызове objCalc.SomeFunction() всегда отрабатывает SomeFunction из нужного класса?
Т.е., при вызове objCalc.SomeFunction() всегда отрабатывает SomeFunction из нужного класса?
Да, я в каждую функцию SomeFunction() вставил соответствующий Print(), вывод правильный в зависимости от свичера. который выбирает конкретный класс для создания объекта.
https://docs.mql4.com/ru/basis/oop/virtual
Спасибо за ссылку. В этом примере нет моей ситуации- Когда именно нужно применять virtual, если функция базового класса переопределяется в производном классе...
Да, в каждую функцию SomeFunction() вставил соответствующий Print(), вывод правильный в зависимости от свичера. который выбирает конкретный класс для создания объекта.
Создайте переменную-ссылку на базовый класс.
Запишите в неё ссылку на класс-потомок.
Вызывайте виртуальные и невиртуальные функции и смотрите результат.
Создайте переменную-ссылку на базовый класс.
Запишите в неё ссылку на класс-потомок.
А это не то ?
Да, я в каждую функцию SomeFunction() вставил соответствующий Print(), вывод правильный в зависимости от свичера. который выбирает конкретный класс для создания объекта.
Можно попробовать
набить ссылками на объекты разных классов и вызывать objCalc[i].SomeFunction()
Можно попробовать
набить ссылками на объекты разных классов и вызывать objCalc[i].SomeFunction()
И что это даст ?
Я только что перебрал объекты классов, переключая input-параметр...
И что это даст ?
Например, обойти излишний интеллект оптимизатора, если таковой в данном случае присутствует.
У меня в "боевых" роботах используется аналогичная конструкция и без virtual работает не так, как ожидается. Но это в MT5.
Например, обойти излишний интеллект оптимизатора, если таковой в данном случае присутствует.
У меня в "боевых" роботах используется аналогичная конструкция и без virtual работает не так, как ожидается. Но это в MT5.
Т.е. с virtual работает как предполагается, каждая функция вызывается из своего класса ?
Тогда просто оставлю virtual :)