我有两个类:扩展市场的图表。
我想初始化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) {
}
};
然而它失败了:
' ='需要的对象
是否可以通过给出类指针来覆盖子初始化期间父类的实例?
答案 0 :(得分:0)
这应该通过覆盖构造函数中父类的指针来起作用:
class Market {
};
class Chart : public Market {
public:
void Chart(Market *_market) {
Market *_parent = (Market *) GetPointer(this);
_parent = _market;
}
};