1.构造函数调用顺序:
2.类对象的初始化顺序:
C++
#include <iostream>
using namespace std;
class A
{
public:
A() { cout << "A()" << endl; }
~A() { cout << "~A()" << endl; }
};
class B
{
public:
B() { cout << "B()" << endl; }
~B() { cout << "~B()" << endl; }
};
class Test : public A, public B // 派生列表
{
public:
Test() { cout << "Test()" << endl; }
~Test() { cout << "~Test()" << endl; }
private:
B ex1;
A ex2;
};
int main()
{
Test ex;
return 0;
}
/*
运行结果:
A()
B()
B()
A()
Test()
~Test()
~A()
~B()
~B()
~A()
*/
程序运行结果分析:
3.类的成员初始化:
类中可能含有静态变量和全局变量,由于静态变量和全局变量都被放在静态存储区,他们的初始化在 main 函数执行之前已被初始化,且 static 变量必须在类外进行初始化。
阅读量:2016
点赞量:0
收藏量:0