Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В деструкторе ~A() "надобъекта" 'B' уже "нет", однако из деструктора ~A() вызывается B::f().
Спасибо за сообщение, исправлено. Ждите обновлений.
в MQL5 все деструкторы виртуальны (внесём это в справку).
ЗЫ никто не запрещает конечно (пока), но вызывать виртуальные методы в деструкторе/конструкторе чревато....
Как я вижу, Вам нравятся игры в теоретические формулировки.
У нас написано все верно и достаточно полно. Если не хватает одной книги, то нужно идти и читать еще еще 10 книг, чтобы получить обзорное представление, а не пытаться требовать от одной книги раскрытия всех точек зрения. Для раскрытия темы к услугам сотни книг по С/C++ языкам в каждом книжном магазине.
Сергей Ковелев уже пишет книгу по языку MQL5 и я думаю, что такие вопросы он раскроет полнее специально для новичков, для которых MQL5 будет первым языком программирования.
Предлагаю закрыть тему обсуждения теоретических вопросов - работа ждет.
Почему игры, да ещё и теоретические? Я заметил ошибку в документации и сообщил. Книга ещё не скоро появится, да это и не повод, чтобы оставлять ляпы в документации.
Но решение принимать не мне, - останется не на моей совести.
Когда появится полностью рабочий this, и заработают forward декларации, появится возможность пообкатывать MQL5 на более сложных примерах.
Хорошо, что работа ждёт, - к концу весны, надеюсь, MT5 дорастёт до уровня beta-версии, можно будет начинать потихоньку переходить на новую платформу.
Лишь бы программистам потом сил хватило довести платформу по качеству до release'а, а не остановиться посередине между beta'ой и release'ом.
А чемпионат 2010, если будет, то, по моим ощущениям, логичен был бы в двух номинациях, - MT4 и MT5, потому что на подготовку экспертов для MT5, похоже, будет слишком мало времени.
Спасибо за сообщение, исправлено. Ждите обновлений.
в MQL5 все деструкторы виртуальны (внесём это в справку).
ЗЫ никто не запрещает конечно (пока), но вызывать виртуальные методы в деструкторе/конструкторе чревато....
Чревато, если поверхностно разбираться в том, как устроен и работает полиморфизм, особенно при создании/уничтожении объектов.
Но раз уж MQL5 в себя его включает, - люди будут им пользоваться, в том числе будут пытаться им пользоваться и из конструктора.
На самом деле пример сначала был сложнее. Ведь не считается предосудительным вызвать из конструктора невиртуальный метод?
Но, если этот невиртуальный, в свою очередь, вывзывает виртуальный - ситуация ничуть не лучше.
В C++ таким образом организуется честный и настоящий pure virtual function call.
Однако, языку MQL5 это на данном этапе не грозит, - в нём нет чистых виртуальных функций.
Кстати, 227 build неадекватно реагирует на объявление деструктора виртуальным, если в классе также присутствует виртуальная функция:
При попытке компиляции возникает ошибка "EX5 write error" с указанием Line: 1, Column: 1
Почему игры, да ещё и теоретические? Я заметил ошибку в документации и сообщил. Книга ещё не скоро появится, да это и не повод, чтобы оставлять ляпы в документации.
При попытке компиляции возникает ошибка "EX5 write error" с указанием Line: 1, Column: 1
Это уже поправлено, ждите обновления.