C++ 中的析构函数
C++ 中的析构函数是对类中的对象进行删除的成员函数。当类对象超出范围时(例如函数结束、程序结束、调用 delete 变量等)便会调用它们。
析构函数不同于普通成员函数,因为它们不带任何参数,也不返回任何内容。此外,析构函数的名称与其类相同,其名称前加一个波浪号(~)。
以下给出了演示 C++ 中析构函数的程序。
示例
#include<iostream>
using namespace std;
class Demo {
private:
int num1, num2;
public:
Demo(int n1, int n2) {
cout<<"Inside Constructor"<<endl;
num1 = n1;
num2 = n2;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
~Demo() {
cout<<"Inside Destructor";
}
};
int main() {
Demo obj1(10, 20);
obj1.display();
return 0;
}输出
Inside Constructor num1 = 10 num2 = 20 Inside Destructor
在上述程序中,类 Demo 包含一个带参数的构造函数,该函数使用 n1 和 n2 所提供的值初始化 num1 和 num2。它还包含一个函数 display(),用于打印 num1 和 num2 的值。在 Demo 中还有一个析构函数,在类对象的范围结束时调用该析构函数。其代码片段如下所示。
class Demo {
private:
int num1, num2;
public:
Demo(int n1, int n2) {
cout<<"Inside Constructor"<<endl;
num1 = n1;
num2 = n2;
}
void display() {
cout<<"num1 = "<< num1 <<endl;
cout<<"num2 = "<< num2 <<endl;
}
~Demo() {
cout<<"Inside Destructor";
}
};函数 main() 包含类类型 Demo 的对象的定义。然后调用函数 display()。如下所示。
Demo obj1(10, 20); obj1.display();
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP