析构函数与this指针
⼆、析构函数
1、知识点介绍
析构函数和构造函数⼀样,也是⼀种特殊的函数,主要的作⽤是在对象结束⽣命周期时,系统⾃动调⽤析构函数,来做⼀些清理⼯作,⽐如在对象中有申请内存,那么是需要⾃⼰去释放内存的,这个释放内存的操作就可以写在析构函数中,在对象死亡的时候⾃动调⽤析构函数释放内存,那么这种就不需要担⼼忘记释放内存了。
指向类成员函数的指针2、析构函数的定义
1、函数名与类名相同,在前⾯加上⼀个~
~Student(){}
2、没有返回值类型和返回值,也没有参数
3、如果类中没有⾃⼰写析构函数,那么系统将会给出⼀个隐式什么都不⼲的析构函数
3、析构函数的调⽤时机
1、析构函数可以主动通过对象调⽤,析构函数必须是公有属性下的。
2、在对象死亡时,析构函数会主动调⽤它的析构函数。
4、析构函数的特点
1、析构函数做的事是对对象做⼀些清理⼯作,主动调⽤析构函数,并不会释放对象。
2、⼀个类只有⼀个析构函数。
三、this指针
1、知识点介绍
1、this指针是系统⾃动⽣成的,且隐藏,我们看不到定义,但是可以使⽤
2、this指针并不是对象本⾝的⼀部分,它的作⽤域在类的内部。当类的普通函数在访问类的普通成员的时候,该this指针总是指向调⽤者对象。
2、this指针的使⽤
1、必须在类中使⽤,在类外是使⽤不了的
2、this->成员名;或者(*this).成员名; 表⽰调⽤者的某个成员
3、return this;表⽰返回当前调⽤者对象的地址
4、return *this; 表⽰返回当前调⽤者对象
3、this指针在代码中的表现
//1 在类中函数的形参和类中成员同名
void MyClass::fun(int sum)
{
this->sum = sum;
}
//这样我们就能通过this指针指向sum,来表⽰this指向的这个sum是当前对象的sum。如果是sum=sum;那么这两个sum都是表⽰的形参。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。