派生类的构造函数为什么每次都要super?本帖最后由 u010765463 于 2013-05-28 14:25:12 编辑派生类的构造函
派生类的构造函数为什么每次都要super?
本帖最后由 u010765463 于 2013-05-28 14:25:12 编辑 派生类的构造函数为什么每次都要super(派生类)?为什么每次都要调用基类的构造函数呢?不加super为什么就不行?
在c++中
class B
{
public:
B(){}
~B(){}
private:
};
class D : public B
{
public:
D(){}
~D(){}
};
int main()
{
D obj;
return 0;
}
基类初始化对象会自动调用基类相应的构造函数。
[解决办法]
派生类是针对c++里面提出的,java里面的叫继承。
java里不是非得要加上super的
[解决办法]
如果父类存在默认构造方法(就是无参数的构造方法),可以不加super的(因为调用子类的构造方法,会默认先super()的);如果父类没有默认构造方法,子类构造方法必须显示的调用super(...)
