C++类——构造函数和析构函数

C++类的构造函数和析构函数

类的构造函数

类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。

构造函数的名称与类的名称是完全相同的,构造函数可用于为某些成员变量设置初始值。构造函数不需要指定返回值类型,因为不会返回任何类型,也不会返回 void。

举个例子:

#include <iostream>
using namespace std;

class Line
{
    
    
    public:
        int length;
        Line(int len){
    
    
            // 这是构造函数
            length=len;
        }
};
// 程序的主函数
int main( )
{
    
    
    Line line(6);// 设置长度
    cout << "Line的length:" << line.length <<endl;
    return 0;
}

使用初始化列表来初始化字段

使用初始化列表来初始化字段,以上面的Line为例:

Line(int len):length(len) {
    
    
    ...
}

上面的代码等同于下面这段:

Line(int len){
    
    
    length=len;
}

假设有一个类 C,具有多个字段 x、y、z 等需要进行初始化,同理地,您可以使用上面的语法,只需要在不同的字段使用逗号进行分隔,如下所示:

C::C( double a, double b, double c): x(a), y(b), z(c)
{
    
    
    ...
}

类的析构函数

类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

举个例子:

#include <iostream>
using namespace std;

class Line
{
    
    
    public:
        int length;
        Line(int len){
    
    
            // 这是构造函数
            length=len;
        }
        ~Line(void){
    
    
            // 这是析构函数
            cout<<"该对象已经被销毁"<<endl;
        }
};
// 程序的主函数
int main( )
{
    
    
    Line line(6);// 设置长度
    cout << "Line的length:" << line.length <<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_61316509/article/details/131694317