0

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

我想初始化 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) {
    }
};

但是它失败了:

'=' 对象需要

是否可以通过提供类指针在子初始化期间覆盖父类的实例?

4

1 回答 1

0

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

class Market {
};

class Chart : public Market {
  public:
    void Chart(Market *_market) {
      Market *_parent = (Market *) GetPointer(this);
      _parent = _market;
    }
};
于 2017-01-23T12:34:53.197 回答