1.1派生类实例化对象时,执行顺序
构造函数:基类->派生类
1.2派生类销毁对象时,执行顺序
析构函数:派生类->基类
2.通过派生类的构造函数调用基类的构造函数的2中方式,隐式和显式
2.1隐式
2.1.1
class A
{private:
/* data */
public:
A() { }
~A(){}
};
class B :public A
{
private:
/* data */
public:
B() {}
~B() { }
};
B b;
2.1.2
class A
{private:
/* data */
public:
// A() { }
~A(){}
};
class B :public A
{
private:
/* data */
public:
// B() {}
~B() { }
};
B b;
2.1.3
class A
{private:
/* data */
public:
A(int x = 0, int y = 0) { }
~A(){}
};
class B :public A
{
private:
/* data */
public:
B() {} or //B() {} or B(int j) {}
~B() { }
};
B b;
2.2 显式
class A
{private:
/* data */
public:
A(int x , int y ) { }
~A(){}
};
class B :public A
{
private:
/* data */
public:
B():A(1,2) {}
~B() { }
};
B b;