3.构造函数
1.构造函数的写法
1.1基本语法
class 类名
{
public:
类名(参数列表) // 构造函数声明
{
// 构造函数体:初始化代码
}
};
1.2
class 类名
{
public:
类名(参数列表)
: 成员1(参数1), 成员2(参数2), ...
{
// 构造函数体(通常为空)
}
};
2.写法比较

3.构造函数可以有多个 -- 重载
3.1类中的函数可以和外面的函数重名,实际上对编译器而言他们是不重名的
3.2多个构造函数
// 构造函数1:无参数,默认创建 0 + 0i(零复数)
complex()
: re(0.0), im(0.0)
// 构造函数2:传入实部和虚部(必须都传,不能省略)
complex(double r, double i)
: re(r), im(i)
// 构造函数3:只传实部,虚部默认为0,这也是侯捷老师常用的一种扩展
complex(double r)
: re(r), im(0.0)
// 构造函数4:这个就不行了,因为编译器会发现构造函数3和4都是可以用的,这就导致了二义性
complex(double r)
: re(r), im(1.1)

浙公网安备 33010602011771号