构造函数是一种特殊的成员函数,用于在对象创建时初始化对象的成员变量。它的名称与类名相同,没有返回类型,可以有参数。当创建对象时,构造函数会自动调用,以初始化对象的成员变量。如果没有定义构造函数,编译器会自动生成一个默认的构造函数。
析构函数也是一种特殊的成员函数,当对象被销毁时,析构函数会自动调用,以释放对象占用的资源。
如果没有定义析构函数,编译器会自动生成一个默认的析构函数。
默认析构函数 其 内置函数不会处理,但是自定义类型会调用它自己的析构函数
构造函数与析构函数的代码示例:
在创建的栈类中,Stack是构造函数,~Stack是析构函数
构造函数和析构函数的特性如下:
1. 构造函数和析构函数都是特殊的成员函数,不需要显式调用,会在对象创建和销毁时自动调用。
2. 构造函数用于初始化对象的成员变量,析构函数用于释放对象占用的资源。
3. 构造函数可以有多个重载版本,可以接受不同类型和数量的参数,以满足不同的对象创建需求。
4. 析构函数只有一个版本,不接受参数,不能重载。
5. 构造函数和析构函数都可以被继承,派生类可以调用基类的构造函数和析构函数。
6. 构造函数和析构函数都可以是虚函数,以支持多态性。
7. 构造函数和析构函数都可以是私有的,以实现单例模式或禁止对象创建。
8. 构造函数和析构函数都可以抛出异常,以处理错误情况。