构造子类的对象时先调用基类的构造函数,在调用子类的构造函数,当释放该对象的时候,析构函数执行的顺序与构造函数的顺序恰恰相反
多重继承的构造顺序:
class a
{
};
class b
{
};
class c
{
};
class d
{
};
class e:public d,public c,public b,public a
{
};
继承时的构造顺序与给定的顺序相同(即d,c,b,a),析构顺序则与构造顺序相反
注意:
1.如果没有定义派生类的构造函数,那么将默认执行基类的构造函数
2.如果派生类要向基类传递参数,那么必须在派生类里定义
一个构造函数,该函数只起到向基类传递参数的作用。
3.如果只需要调用基类的构造函数,不用向基类传递参数的话,那么派生类不用定义构造函数
多重继承的构造顺序:
class a
{
};
class b
{
};
class c
{
};
class d
{
};
class e:public d,public c,public b,public a
{
};
继承时的构造顺序与给定的顺序相同(即d,c,b,a),析构顺序则与构造顺序相反
注意:
1.如果没有定义派生类的构造函数,那么将默认执行基类的构造函数
2.如果派生类要向基类传递参数,那么必须在派生类里定义
一个构造函数,该函数只起到向基类传递参数的作用。
3.如果只需要调用基类的构造函数,不用向基类传递参数的话,那么派生类不用定义构造函数