栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++析构函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++析构函数

析构函数·

定义一个对象,c++自动调用构造函数建立该对象并进行初始化,那么当一个对象的生命周期结束时,c++会自动调用一个函数注销该对象并进行善后工作,这个特殊的成员函数叫做析构函数

析构函数和类名相同,但在前面要加,如CGoods().

析构函数无函数返回类型,与构造函数在这方面是一样的。但析构函数不带任何参数。

一个类只有一个析构函数,这是和构造函数不一样的,

对象注销时,系统自动调用析构函数。

若类说明中没有给出析构函数,则c++会给出一个缺省的析构函数。

class complex

{

   double real;

   double image;

public:

complex():real{},image{}

{

cout<<"create object:"<class Int()

{

private:

value;

public:

Int (int x=0):value(x)

{

cout<<"create Int:"< 
int main()

{

Int *ip=nullptr;

ip->show();

ip->print();

return 0;

}

ip指针可以调用show,但是不能调用print,因为print中打印value需要对ip解引用。

局部变量区设置为栈区。上面的例子中调用构造函数的顺序为abc,调用析构函数的顺序为cba。

在c++中开辟了空间没有对象,当想给这块空间赋值时需要使用定位new

如 int *p=new Int(10)(区别int *p=new Int{10})

new开辟空间时不用去判空,因为如果开辟失败会有返回bad alloc.(malloc 与 operator new的区别,开辟失败时的返回)。

//ip用operator new来开辟,释放时也用operator delete
for (int i=0;i 

ps:成员函数设计时加const的好处:1.安全2.通用性好,既适用于普通对象也适用于常对象。

属性的值不能被外部找到,要想看到得通过函数将值带出来。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号