作用:为了创建类对象而有的一种函数;
这里主要说明的是有两种不同的构造函数的定义;
方法一:
class complex
{
public:
complex(double r = 0, double i = 0)
{
re = r, im = i; //赋值(assignments)
}
private:
double re, im;
};
方法二:
class complex
{
public:
complex(double r = 0, double i = 0)
:re(r), im(i) //声明(initialization list)
{ }
private:
double re, im;
};
这里推荐的是方法二,为什么方法二好?
1、一个变量数值的设定分为两个阶段:第一,初始化;第二,赋值
2、方法二是先进行了初始化,后面的大括号中可以进行赋值操作
3、方法三是没有进行初始化,直接进行赋值,放弃了初始化操作,时间点晚了,效率差些
4、虽然结论相同,但是效果不一样
5、这种方式只存在于构造函数中
参考:
【1】侯捷C++手把手教学(上),适合新手