admin 管理员组

文章数量: 887040


2023年12月24日发(作者:golang是干嘛的)

在 C++中,类构造函数和析构函数是用于初始化和清理对象的特殊函数。

1. 类构造函数:

类构造函数用于初始化对象的成员变量。当创建一个新的对象时,系统会自动调用相应的构造函数。类构造函数可以被重载,以根据传入的参数执行不同的初始化操作。构造函数的命名规则是:类名 + 关键字“::” + 构造函数名。

示例:

```cpp

class Person {

public:

// 构造函数

Person(const std::string &name, int age) {

this->name = name;

this->age = age;

}

// 析构函数

~Person() {

std::cout << "Person destroyed." << std::endl;

}

};

```

2. 析构函数:

析构函数用于在对象销毁时清理资源。当对象超出作用域或者使用`delete`关键字删除时,系统会自动调用相应的析构函数。析构函数也可以被重载,以执行清理操作。析构函数的命名规则是:类名 + 关键字“::” + 析构函数名。

示例:

```cpp

class Person {

public:

// 构造函数

Person(const std::string &name, int age) {

this->name = name;

this->age = age;

}

// 析构函数

~Person() {

std::cout << "Person destroyed." << std::endl;

}

};

int main() {

Person *p1 = new Person("张三", 25);

// ...

delete p1;

return 0;

}

```

当程序运行到`delete p1;`时,系统会自动调用`Person`类的析构函数,清理资源。

注意:

- 每个类只能有一个析构函数,但可以有多个构造函数。

- 构造函数和析构函数可以被重载,以根据不同的参数执行不同的操作。

- 在定义类时,如果未提供构造函数和析构函数,编译器会自动为类生成默认的无参数构造函数和析构函数。


本文标签: 函数 对象 自动 系统