对象的初始化和清理也是两个非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知。同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。
C++使用构造函数和析构函数,这两个函数会被编译器自动调用,完成对象初始化和清理工作(强制要做)。如果我们不提供构造和析构,编译器会提供一个空实现的构造函数和析构函数。
构造函数:
主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用。
构造函数语法:类名(){ }
1.没有返回值,不用写void
2.函数名与类名相同
3.构造函数可以有参数,因此可发生重载
4.创建对象的时候,构造函数会自动调用,而且只调用一次
析构函数:
主要作用在于对象销毁前系统自动调用,执行一些清理工作。
析构函数语法:~类名(){ }
1.没有返回值,不用写void
2.函数名与类名相同,在名称前