什么是构造函数
对象初始化:
对象的初始化往往不只是对成员变量赋值这么简单,也可能还要进行一些动态内存分配、打开文件等复杂的操作,在这种情况下,就不可能用初始化基本类型变量的方法来对其初始化。所以要引入构造函数
在C++语言中,“构造函数”就是一类特殊的成员函数,其名字和类的名字一样,并且不写返回值类型(void 也不写)。
构造函数的特点:
1.函数名和类名必须一样,没有返回值。
2.当没有手动编写定义构造函数,系统会自动生成默认的构造函数
3.构造函数可以重载(一个类可以有多个构造函数)
class Complex{
private:
double real, imag;
public:
Complex(double r);
Complex(double r, double i);
Complex(Complex cl, Complex c2);
};
Complex::Complex(double r) //构造函数 1
{
real = r;
imag = 0;
}
Complex :: Complex(double r, double i) //构造数 2
{
real = r;
imag = i;
}
Complex :: Complex(Complex cl, Complex c2) //构造函数 3
{
real = cl.real + c2.real;
imag = cl.imag + c2.imag;
}
int main(){
Complex cl(3), c2(1,2), c3(cl,c2), c4 = 7;
return 0;
}