RHZ'S BLOG | 个人分享

  • 首页
  • 笔记
  • 小日常
  • 音乐
  • 读书
  • 软件分享
YOLO
  1. 首页
  2. 笔记
  3. C/C++
  4. 正文

析构函数|C++

2022年9月8日 127点热度 0人点赞 0条评论

析构函数

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

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

class MyClass {
  public: 
    ~MyClass() {
     // some code
    }
};

析构函数在退出程序之前可以非常有用地释放资源。这可以包括关闭文件,释放内存等等。

例如,我们在头文件 MyClass.h 中为我们的 MyClass 类声明一个析构函数:

class MyClass
{
  public:
   MyClass();
   ~MyClass();
};
析构函数|C++插图
class MyClass
{
public:
   MyClass();
   ~MyClass();
}

在头文件中声明析构函数后,我们可以在源文件 MyClass.cpp 中编写实现:

#include "MyClass.h"
#include <iostream>
using namespace std;
//双冒号范围解析运算符用于定义已经声明的特定类的成员函数。 请记住,我们在头文件中定义了构造函数原型MyClass::MyClass()
{
  cout<<"Constructor"<<endl;
}

MyClass::~MyClass()
{
  cout<<"Destructor"<<endl;
}

请注意,我们包含 <iostream>,以便我们可以使用 cout。

析构函数|C++插图1
MyClass::~Myclass()
{
 cout << "some text"
}

由于析构函数不能带参数,所以也不能重载。每个类将只有一个析构函数。

定义析构函数不是强制性的。如果你不需要一个,你可以不定义。


让我们回到主函数来

#include <iostream>
#include "MyClass.h"
using namespace std;

int main() {
  MyClass obj;

  return 0;
}

我们包含了类的头文件,然后创建了这种类型的对象。

这将返回以下输出:

Constructor
Destructor

程序运行时,首先创建对象并调用构造函数。当程序执行完成时,对象被删除,析构函数被调用。

请记住,我们在构造函数中打印 “Constructor”,在析构函数中打印 “Destructor”。

析构函数|C++插图2
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年9月8日

RHZ

即使单枪匹马,我亦勇敢无畏

点赞
< 上一篇
下一篇 >

文章评论

取消回复
归档
  • 2023年2月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年8月
  • 2021年7月

COPYRIGHT © 2022 RHZ的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2022008933号-1