类的构造函数和析构函数

时间:2022-12-17 19:28:17

1.构造函数

1.1 定义和声明构造函数

a. 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数名称与类名相同,构造函数的原型和函数头没有返回值,但也没有被声明为void类型。实际上,构造函数没有声明类型。

b.实例1:

class Student{
private:
//成员变量
int number;
... ...
public:
Student(参数1,参数2,参数3,...){
... ...
//相关的赋值操作
}
}

c. 默认构造函数

在类中,当且仅当没有定义任何构造函数,编译器才会提供默认构造函数。为类定义了构造函数后,程序员必须为它提供默认构造函数。

定义默认构造函数的方法:

<1>. 给已有的构造函数的所有参数提供默认值;

<2>. 通过函数重载来定义另一个构造函数--一个没有参数的构造函数。

2. 析构函数

用构造函数创建对象后,程序负责跟踪对象,直到其过期为止。对象过期时,程序将自动调用一个特殊的成员函数,即析构函数。析构函数完成清理工作。
析构函数的名称:~+类名,析构函数也没有返回值和声明类型,没有参数。
实例2: Student::~Student(){ ... ... code3; }
如果类对象是用new运算符创建的,则在析构函数里用delete清理内存。