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`类的析构函数,清理资源。
注意:
- 每个类只能有一个析构函数,但可以有多个构造函数。
- 构造函数和析构函数可以被重载,以根据不同的参数执行不同的操作。
- 在定义类时,如果未提供构造函数和析构函数,编译器会自动为类生成默认的无参数构造函数和析构函数。
版权声明:本文标题:c++类构造函数和析构函数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703383341h448934.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论