首先回顾以前所学的构造函数
类的构造函数用于对象的初始化
构造函数与类同名并且没有返回值
构造函数在定义时被自动调用
由于构造函数没有返回值不能判断执行结果,所以不能保证初始化对象能否成功
比如:
class Test{
private:
int *p;
public:
Test(int i)
{
p=new int(i);
}
}
假如创建对象时,执行new分配时失败了,便会出现bug,若代码量大,是很难找到这个问题的,这种便被称为半成品对象.
如何来避免半成品对象的诞生呢?
就要用到本章学的二阶构造了.
二阶构造
将构造过程分为两步
-资源无关的初始化操