c++中 ~符号的作用

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:26:46
#include<iostream>
using namespace std;
class A
{
public:
A(){cout<<"1";}
~A(){cout<<"2";}
};
class B:public A
{
public:
B(){cout<<"3";}
~B(){cout<<"4";}
};
int main()
{
B b;
return 0;
}
这个程序的运行过程是怎么样的?~的作用是什么?为什么结果是1342?

在类里面 这个事析构函数 如果不加 系统会默认设置一个析构函数 系统默认设置的析构函数为空值
析构函数的调用时这样的:
越早声明越晚调用 例如这个题目: 它在建立类B的对象b时, 调用类B的构造函数 ,而该构造函数 自动先调用 基类的构造函数 。当完成 建立对象后 ,主函数 结束, 开始 析构 主函数 ,然后 析构 派生类B ,然后 再析构 基类 A。然后此程序读完。
函数调用的过程是: A() B() ~B() ~A()
全部过程如上 则输出结果是 1342

类型名前面加个 ~作为函数名 说明这个函数是类的析构函数

~是析构函数,类的对象释放时调用,你去看看类的构造函数和析构函数那节就知道了,这道题主要是说这两种函数的调用顺序~

用于声明/定义析构函数