(1) 函数执行顺序
派生类构造时:首先调用基类的构造函数,然后调用派生类自身的构造函数。
派生类析构时:首先调用派生类自身的析构函数,然后调用各基类的构造函数。
#include
class A
{
public:
A(void)
{
cout << "base: A constructor" << endl;
};
~A(void)
{
cout << "base: A destructor" << endl;
};
};
class B : public A
{
public:
B(void)
{
cout << "B constructor" << endl;
};
~B(void)
{
cout << "B destructor" << endl;
};
};
int main(int argc, char* argv[])
{
//A a;
B b;
return 0;
}
C++程序输出:
base: A constructor
derived: B constructor
derived: B destructor
base: A destructor
Bash(2) 构造函数参数传递