Ошибки, баги, вопросы - страница 3304
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что бы не тащить имена внутренних типов в пространство имен. В больших проектах банально удобнее TClassA::TSet и TClassB::TSet, чем TSetClassA и TSetClassB.
Ааа, я понял: это имеет смысл при использовании
namespaceЯ просто не использовал еще пространства имен (их объявление). Спасибо большое!
Что бы их не было видно за пределами класса, объявляй их private
Для этого тоже пространство имен нужно наверное. По тому, что вот так вот можно:
Ааа, я понял: это имеет смысл при использовании
Я просто не использовал еще пространства имен (их объявление). Спасибо большое!
Для этого тоже пространство имен нужно наверное. По тому, что вот так вот можно:
Есть еще такое понятие как глобальное пространство имен)
Есть еще такое понятие как глобальное пространство имен)
Ну глобальное то все невольно используют)
Я, к слову, на текущем этапе (освоения ООП) использую оператор расширения контекста что бы явно обозначить вызов функции, которая объявлена в глобальной области и не является методом класса:
Ну а имена функций MQL для нейминга своих методов (как здесь) не использую в принципе: как минимум, подсвечивание сбивает с толку
Это я что-то не понимаю, или тут действительно что-то не так?
Результат:
Конструктор с параметрами по умолчанию используется как конструктор по умолчанию (первый вызов A::A(int)), хотя в документации сказано, что это не так:
"Конструктор, все параметры которого имеют значения по умолчанию, не является конструктором по умолчанию." https://www.mql5.com/ru/docs/basis/types/classes#default_constructor
Второй вызов A::A(int) (из B::B(int) ) устанавливает значение a1, которое после "исчезает".
Это я что-то не понимаю, или тут действительно что-то не так?
Результат:
Конструктор с параметрами по умолчанию используется как конструктор по умолчанию (первый вызов A::A(int)), хотя в документации сказано, что это не так:
"Конструктор, все параметры которого имеют значения по умолчанию, не является конструктором по умолчанию." https://www.mql5.com/ru/docs/basis/types/classes#default_constructor
Второй вызов A::A(int) (из B::B(int) ) устанавливает значение a1, которое после "исчезает".
Тут, конечно, грабли от разработчиков MQL.
Спасибо.
А если другие параметры вызова A() зависят от вычислений внутри B::B() ?
Я дико извиняюсь, а что за хреновина с версией 3660 (судя по названию файла)? Никогда такого не было...
Я дико извиняюсь, а что за хреновина с версией 3660 (судя по названию файла)? Никогда такого не было...
Антивирус добрался до агентов?
Спасибо.
А если другие параметры вызова A() зависят от вычислений внутри B::B() ?
А если другие параметры вызова A() зависят от вычислений внутри B::B() ?
Конструкторы вызываются строго снизу-вверх: от родителя к потомкам.