Вызов конструктора предка

 

в новом билде перестал компилироваться советник

ругается на явный вызов конструктора предка в конструкторе наследника

пример крнструктор класса TMNK наследника TSymbol

 void TMNK()
  {
  TSymbol::TSymbol();

  iTradeLong=true;

......

  }

как правильно писать конструктор наследника?

 
arnautov:

в новом билде перестал компилироваться советник

ругается на явный вызов конструктора предка в конструкторе наследника

пример крнструктор класса TMNK наследника TSymbol

 void TMNK()
  {
  TSymbol::TSymbol();

  iTradeLong=true;

......

  }

как правильно писать конструктор наследника?

6.   MQL5: Добавлена ошибка "explicit constructor call is not allowed" при попытке явного вызова конструктора объекта.

 

https://www.mql5.com/ru/forum/23/page8 

Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
arnautov:

как правильно писать конструктор наследника?

Как вызываются при наследовании конструкторы написано здесь: https://www.mql5.com/ru/docs/basis/oop/inheritance
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Наследование
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Наследование
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Наследование - Документация по MQL5
 
Lizar:
Как вызываются при наследовании конструкторы написано здесь: https://www.mql5.com/ru/docs/basis/oop/inheritance

----

Необходимо отметить, что при создании объекта сначала вызывается конструктор базового класса, затем конструктор производного класса. При уничтожении объекта сначала вызывается деструктор

производного класса, а затем деструктор базового класса.

----

Т.е. конструктор предка вызывается автоматичеки?

 
arnautov:

----

Необходимо отметить, что при создании объекта сначала вызывается конструктор базового класса, затем конструктор производного класса. При уничтожении объекта сначала вызывается деструктор

производного класса, а затем деструктор базового класса.

----

Т.е. конструктор предка вызывается автоматичеки?

Да, конструкторы и деструкторы вызываются автоматически для предков и членов класса/структуры
 
mql5:
Да, конструкторы и деструкторы вызываются автоматически для предков и членов класса/структуры
А планируется ли добавить конструктор с параметрами? Или?
 
поддерживаю, было бы неплохо иметь возможность вызывать конструкторы предка с параметрами самостоятельно, либо сделайте вызов по умолчанию таких конструкторов если сделан конструктор с параметрами у наследуемого класса,а то конструктор предка с параметрами нельзя вызывать!
 
Т.е за 4 года в этом плане подвижек не произошло? Если мне нужен конструктор с параметрами из предка, то его надо тупо дублировать у потомка?
 
Garynych:
Т.е за 4 года в этом плане подвижек не произошло? Если мне нужен конструктор с параметрами из предка, то его надо тупо дублировать у потомка?
Все с конструкторами нормально.
 
Garynych:
Т.е за 4 года в этом плане подвижек не произошло? Если мне нужен конструктор с параметрами из предка, то его надо тупо дублировать у потомка?

Все прекрасно работает. Нет никаких проблем вызвать базовый параметрический конструктор из производного класса:

class CBase
{
   public:
      CBase(int a);
};

class CChild : public CBase
{
   public:
      CChild() : CBase(5){;}
};