如何在MQL中初始化类并覆盖其父级?

时间:2017-01-20 17:25:11

标签: superclass object-initializers mql5

我有两个类:扩展市场的图表。

我想初始化Chart类,但提供指向已存在的父类的指针以保存一些内存(以避免在新实例指向同一事物的情况下初始化)。

以下是代码:

class Market {
  public:
    void Market(Market *_market) {
      this = GetPointer(_market); // Error: '=' object required
    }
};

class Chart : public Market {
  public:
    void Chart(Market *_market) : Market(_market) {
    }
};

然而它失败了:

  

' ='需要的对象

是否可以通过给出类指针来覆盖子初始化期间父类的实例?

1 个答案:

答案 0 :(得分:0)

这应该通过覆盖构造函数中父类的指针来起作用:

class Market {
};

class Chart : public Market {
  public:
    void Chart(Market *_market) {
      Market *_parent = (Market *) GetPointer(this);
      _parent = _market;
    }
};