构造函数:
1、函数名和类名相同
2、无返回值
complex(){}
特点
1、构造函数允许重载
2、每一个类都有自带的默认构造函数
3、一旦你自己定义了构造函数,会将原本的默认构造函数覆盖
4、类的对象作为参数传入,会调用复制构造函数,产生新的对象
this指针
注意
类“complex”的复制构造函数不能带有“complex”类型的参数
当你的类没有赋值构造函数时,“=”的作用就是引用
调用构造函数的意思:创建一个函数并将它初始化
匿名对象
生命周期只存在于创建的那一行
析构函数
将构造函数释放的函数
friend关键字
友元函数:能够调用类的调用方法
在堆上进行对象空间申请(malloc)的时候,不会调用对象构建函数
关键字
new delete
complex *t1 = new complex;
delete t1;
new,delete和malloc区别:
1、new,delete是关键字,malloc是函数
2、new,delete会自动调用构造函数和析构函数,malloc不会。
3、new,delete不用进行空间大小的计算,会自动分配,malloc要调用sizeof分配
初始化表
const修饰的成员变量只能在初始化表进行初始化
void show( const complex &s1);修饰的s1,形参,不可被修改
const int show(complex &s1);返回值不可被修改
int show(complex &s1)const;常成员函数,const修饰的整个函数,该函数内不能修改任何成员变量
static
静态成员变量:被定义出来就要进行初始化(初始化在类外执行)
1、修饰成员变量,变量只能在类外初始化,该成员变量不占用内存空间,静态成员不归对象管
2、修饰成员变量,只能操作静态成员变量