Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кроме того, это неправильно - в MQL5 есть ключевое слово 'final'.
{
//--- class body
};
class CBar : public CFoo
{
//--- class body
};
Это не позволит CBar компилироваться, потому что CFoo является final.
Здесь вы ошибаетесь, whroeder1.
Не добавление virtual в базу приведет к потере полиморфизма - метод будет вызываться статически, а не динамически во время выполнения.
Это была оговорка, о которой упомянул whroeder1.
Кроме того, это неверно - в MQL5 есть ключевое слово 'final'.
1. Это не только плохая практика, но и требуется в каждой базе (не только в CObject), если требуется полиморфизм.
2. Это действительно меняет ситуацию - см. 1.
3. final существует.
В MQL4 также есть ключевое слово final, хотя в документации оно не указано (насколько мне известно). Возможно, оно было упомянуто в обновлении сборки.
Правильно!
Это был Build 1430 для MQL5. Возможно, примерно в то же время для MQL4 с общим компилятором.
Привет, ребята,
Я работаю в классе, точно таком же, как этот пост, но моя переменная "score" является методом. Как получить ее значение?
Это код из начала поста:
Вот что я пытаюсь сделать:
Вопрос в том, как использовать getPrice() внутри метода Compare()?
СпасибоПривет, ребята,
Я работаю в классе, точно таком же, как этот пост, но моя переменная "score" является методом. Как получить ее значение?
Это код из начала поста:
Вот что я пытаюсь сделать:
Вопрос в том, как использовать getPrice() внутри метода Compare()?
СпасибоОбъявите свой метод getPrice() с ключевым словом const.
Объявите свой метод getPrice() с ключевым словом const.
Привет @Alain Verleyen,
Я изменил метод getPrice(), вместо CopyClose() я использую CopyBuffer(). Это не меняет основной задачи.
Так вот, если я использую ключевое слово "const" в методе getPrice(), то получаю ошибку: "'CopyBuffer' - ни одна из перегрузок не может быть применена к вызову функции". Я думаю, это происходит потому, что CopyBuffer не является const-методом, и невозможно вызвать не const-метод внутри const-метода.