Ошибки, баги, вопросы - страница 1920
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"Предок" видеть protected/private-поля и не должен.
А public-поля: должен/не должен?
Если добавить
struct B;
А public: должен/не должен?
public static-поле - обязан.
Обобщая: Базовый класс не видит не static поля производного. Одновременно базовый класс не видит protected static производного, но видит public static. Вы сами придумали это правило?
Мне сложно сказать, откуда сделаны такие обобщения. Сам такое никак не имел в виду.
Любой класс видит public static поля/методы любого другого класса.
Базовый класс никогда не видит protected/private (static - без разницы) поля/методы производного (public-наследование).
Производный класс (public-наследование) никогда не видит private поля/методы базового, но всегда видит - protected/public.
Любой класс видит public static поля/методы любого другого класса.
В итоге вопрос сводится к следующему: Правильно ли что в MQL в базовом классе доступны public static поля/методы производного?
Это правильно не только для случая базового/производного, но и для любых классов вообще.
Это правильно не только для случая базового/производного, но и для любых классов вообще.
Вопрос возник не на пустом месте
а значит требует детальной проверкиЛюбой класс видит public static поля/методы любого другого класса.
... в т.ч. базового. Отсюда возникает следующее противоречие в MQL
С++ без ошибокВ С++ по умолчанию в структурах члены публичные, в mql приватные, как и в классах.
Да, я был неправ, форвард декларации в С++ не хватает, надо определение
... в т.ч. базового. Отсюда возникает следующее противоречие в MQL
С++ без ошибокДа, это баг private-наследования MQL.