Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
можно ли статический массив объявить в секции класса public, а инициализировать в конструкторе? (как указано ниже) (или только поэлементно?)
можно
а может быть Вы все таки инициализацию статического массива ищете?
можно ли статический массив объявить в секции класса public, а инициализировать в конструкторе? (как указано ниже) (или только поэлементно?)
Примерно так:
Вообще поражает эта нищета ООП на фоне его блеска. Ну почему нельзя инициализировать переменные и массивы как обычно при их объявлении? Не сомневаюсь, теоретики сейчас двинут множество теорий, доказывающих мне, что я идиот, но все же...Можно инициализировать локальный массив и выполнить ArrayCopy в соответствующее массив-поле:
Такая мысль тоже была, его можно и в глобальной области разместить вне всякого класса.
Так даже проще, но хотелось что бы всё было ООП))
Примерно так:
Вообще поражает эта нищета ООП на фоне его блеска. Ну почему нельзя инициализировать переменные и массивы как обычно при их объявлении? Не сомневаюсь, теоретики сейчас двинут множество теорий, доказывающих мне, что я идиот, но все же...меня посещает точно такая же мысль)) каждый раз когда пишу с применением ООП.
Такая мысль тоже была, его можно и в глобальной области разместить вне всякого класса.
Так даже проще, но хотелось что бы всё было ООП))
можно
а может быть Вы все таки инициализацию статического массива ищете?
интересный вариант.
это вызов "метода с конструктором"?
интересный вариант.
это вызов "метода с конструктором"?
нет
именно инициализация статиков так и пишется
можете не инициализировать, тогда так буде выглядеть код:
это не вызов метода, а полное имя поля класса A::Mass[5];
но если удалите строку, то будет ошибка компилятора - статикам нужно распределять память до момента создания экземпляра класса - это и делает желтая строчканет
именно инициализация статиков так и пишется
можете не инициализировать, тогда так буде выглядеть код:
спасибо, получается что эту строку (static bool A::Mass[5];) не перенести в конструктор ни как?
или статики только так инициализируются в подобном случае?
пост выше дополнил
да, статики нужно отдельно описать, вот @fxsaber помогал разобраться https://www.mql5.com/ru/forum/325418/page4#comment_16116740
можно и статические классы так инициализировать в MQL
спасибо, получается что эту строку (static bool A::Mass[5];) не перенести в конструктор ни как?
нет, это стаик поле класса, пишу же память нужно распределить заранее, а не в момент создания экземпляра класса
а пользоваться будете в дальнейшем как обычным массивом
если вопрос вообще в инициализации в виде одной стсроик, то вариант Сергея это то, что Вы ищете, и статики Вам просто не нужны
пост выше дополнил
да, статики нужно отдельно описать, вот @fxsaber помогал разобраться https://www.mql5.com/ru/forum/325418/page4#comment_16116740
можно и статические классы так инициализировать в MQL
спасибо, сейчас попробовали понял что можно получить доступ к массиву и так.
честно говоря ООП у нас есть а вот в справке я такого не встречал. очень жаль что справка не описывает таких тонкостей.
большое Спасибо, всем кто откликнулся!