基类代码
class IR {
public:
int indexOfSelf;
Object *src1, *src2, *dest; // 操作数
Operator op; // 操作符
virtual void print();
};
子类代码
class ClassAlloc
: public IR {
public:
ClassAlloc(int idx, XStringObject *name, ObjectList *args, Object *dest);
void print();
private:
bool check();
};
其中,XStringObject
,ObjectList
均继承自Object
ClassAlloc类的构造函数
ClassAlloc::ClassAlloc(int idx, XStringObject *name, ObjectList *args, Object *dest)
: indexOfSelf(idx), src1(name), src2(args), dest(dest) {
if (this->check()) {
cout << "IR:ClassAlloc::ClassAlloc:check error" << endl;
}
}
初始化列表里报错:
请问如何解决?不太懂c++的继承机制,是不是说我必须每个子类重写一遍Object *src1, *src2, *dest
?