1 问题
C++ 中的类可以定义多个对象,那么对象构造的顺序是怎么样的呢?
2 对象的构造顺序
- 对于局部对象
- 当程序执行流到达对象的定义语句时进行构造。
下面程序中的对象构造顺序是什么?
实例分析:局部对象的构造顺序
#include <stdio.h>
class Test
{
private:
int mi;
public:
Test(int i)
{
mi = i;
printf("Test(int i): %d\n", mi);
}
Test(const Test& obj)
{
mi = obj.mi;
printf("Test(const Test& obj): %d\n", mi);
}
};
int main()
{
int i = 0;
Test a1 = i;
while( i < 3 )
{
Test a2 = ++i;
}
if( i < 4 )
{
Test a = a1;
}
else
{
Test a(100);
}
return 0;
}
/* 输出:
Test(int i): 0
Test(int i): 1
Test(