C++笔记5

构造函数##

是成员函数的一种

特点####

①名字与类名相同,可以有参数,但是不能有返回值(void也不行)
②作用是对对象进行初始化!!!如给成员变量赋初值!!!
③如果定义的时候没写构造函数,则编译器生成一个默认的无参数的构造函数。
④如果定义了构造函数,则编译器不生成默认的无参数的构造函数。
⑤对象生成时构造函数自动被调用。对象一旦生成,就再也不能在其上执行构造函数。
⑥一个类可以有多个构造函数。(参数个数或者类型不同)

优点####

①构造函数执行必要的初始化工作,不用担心忘记调用初始化函数。
②由于有时候对象没有被初始化九使用会导致程序出错,此可避免。

exp.

class Complex{
private:
double real,imag;
public:
void Set(double r,double i);
};//编译器自动生成默认构造函数
Complex cl;//默认构造函数被调用
Complex * pc=new Complex;//默认构造函数被调用

exp.

class Complex{
private:
double real,imag;
public:
Complex(double r,double i=0);
};
Complex::Complex(double r,double i){
real=r;imag=i;
}
Complex c1;//error,缺少构造函数参数
Complex *pc=new Complex;//error,没有参数
Complex c1(2);//OK
Complex c1(2,4),c2(3,5);//OK
Complex *pc=new Complex(3,4);

构造函数在数组中的使用###

也是利用参数是否初始化
exp.

posted @ 2020-02-02 11:55  AirBirdDD  阅读(74)  评论(0)    收藏  举报