C++:详谈析构函数的特性和使用

电子说

1.4w人已加入

描述

析构函数

1.概念

与构造函数功能相反,在对象被销毁时,由编译器自动调用,完成类的一些资源清理和汕尾工作。

函数

2.特性

析构函数在类名(即构造函数名)加上字符~。

析构函数无参数无返回值。

一个类有且只有一个析构函数。若未显示定义,系统会自动生成缺省的析构函数。

对象生命周期结束时,C++编译系统系统自动调用析构函数。

注意析构函数体内并不是删除对象,而是做一些清理工作。

四、赋值运算符重载

1.概念

对于类类型的对象我们需要对‘=’重载,以完成类类型对象之间的赋值。

2.static成员

声明为static的类成员(成员数据或成员函数)称为类的静态成员。

特性:

(1)静态成员为所有类对象所共享,不属于某个具体的实例。

(2)类静态成员即可用类名::静态成员或者对象。静态成员来访问。

(3)类静态成员变量必须在类外定义,定义时不添加static关键字。

(4)类的静态成员函数没有默认的this指针,因此在它里面不能使用任何非静态成员。

(5)静态成员和类的普通成员一样,也有public、protected、private3种访问级别,也可以具有返回值,const修饰符等参数。

注意:

(1)静态成员函数不可以调用非静态成员函数;

(2)非静态的成员函数可以调用静态的成员函数。

3.const修饰类成员

使用场景:

(1)const修饰形参,一般和引用同时使用;

(2)const修饰返回值;

(3)const修饰类数据成员,必须在构造函数的初始化列表中初始化;

(4)const修饰类成员函数,实际修饰隐含的this,表示在类中不可以对类的任何成员进行修改;

(5)在const修饰的成员函数中要对类的某个数据成员进行修改,该数据成员定义声明是必须加mutable关键字。

函数

说明:

const对象不可以调用非const成员函数,非const成员函数可以调用const成员函数

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分