c++类的析构函数&Error"引发了异常;读取访问权限冲突。r是0xDDDDDDDD"

本文介绍了C++中类的析构函数,包括析构函数的作用、何时调用以及如何避免析构函数导致的异常。强调析构函数不应在main函数中直接调用,因为这可能导致‘读取访问权限冲突’的错误,异常地址显示为0xDDDDDDDD。
摘要由CSDN通过智能技术生成

c++类的析构函数

每个都有构造函数析构函数
其中,构造函数在定义对象时被调用,析构函数在对象释放时被调用。
如果用户没有提供构造函数析构函数,系统将提供默认的构造函数析构函数

析构函数

析构函数在对象超出作用范围或使用delete运算符释放对象时被调用,用于释放对象占用的空间。
如果用户没有显式地提供析构函数,系统将提供默认的析构函数
析构函数也是以类名作为函数名,与构造函数不同的是,在函数名前添加一个“~”符号,标识该函数是析构函数
析构函数没有返回值,甚至void类型也不可以;
析构函数也没有参数,因此析构函数是不能重载的。
这是析构函数与普通函数的最大区别。

Error"引发了异常;读取访问权限冲突。r是0xDDDDDDDD"

!!!析构函数不应该出现在main函数中!!!

析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数

析构函数在每个类必须有,需要定义一个或系统默认提供一个,但不能出现在main()函数里,
否则(析构函数出现在main函数中)就会因为重复调用析构函数而报错:

"引发了异常;读取访问权限冲突。"
“r是0xDDDDDDDD”

在这里插入图片描述

//Release函数实现,递归思想。
template <class T>
void Tree<T>::ReleaseTree(Node<T>* R)
{
   
 if (R != NULL)
 {
   
  ReleaseTree(R-
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值