C++中构造函数和析构函数

return length;

}

/*

程序的主函数

*/

int main( )

{

Line line;

line.setLength(6.0); // 设置长度

cout << "Length of line : " << line.getLength() <<endl;

return 0;

}

【注】这里的构造函数是无参数的,当然我们也可以把它定义成参数的;

上述代码的结果是:

在这里插入图片描述

析构函数


定义

析构函数与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作,比如释放分配的空间,关闭文件等;

【注】析构函数的作用并不是删除对象,在对象撤销它所占用的内存之前,做一些清理的工作。清理之后,这部分内存就可以被系统回收再利用了;

特点

1.析构函数名与类名相同,只是再函数名前面加一个位取反符号~;

2.析构函数不能带任何参数,也没有返回值(包括void);

3.只能有一个析构函数,它是不能被重载的;

4.每个类有应该有一个析构函数,如果没有显式定义,那么系统会自动生成一个默认的析构函数(默认的析构函数什么也不做);

5.析构函数不能被显式调用,只能由系统自动调用;

定义格式

class <类名>

{

public:

~<类名>();

};

<类名>::~<类名>()

{

//函数体

}

实例代码

下面通过一个实例代码来说明析构函数的使用方法:

#include

using namespace std;

class Line

{

public:

void setLength( double len );

double getLength( void );

Line(); // 构造函数声明

~Line(); // 析构函数声明

private:

double length;

};

/*

成员函数定义,包括构造函数,析构函数

*/

Line::Line(void)

{

cout << “Object is being created” << endl;

}

Line::~Line(void)

{

cout << “Object is being deleted” << endl;

}

void Line::setLength( double len )

{

length = len;

}

double Line::getLength( void )

{

return length;

}

/*

程序的主函数

*/

int main( )

{

Line line;

line.setLength(6.0); // 设置长度

cout << "Length of line : " << line.getLength() <<endl;

return 0;

}

最后

面试题文档来啦,内容很多,485页!

由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。

1111道Java工程师必问面试题

MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:

Elasticsearch 24 题 +Memcached + Redis 40题:

Spring 26 题+ 微服务 27题+ Linux 45题:

Java面试题合集:

Elasticsearch 24 题 +Memcached +** Redis 40题:

[外链图片转存中…(img-7kuUmRxd-1719250782523)]

Spring 26 题+ 微服务 27题+ Linux 45题:

[外链图片转存中…(img-VxHftKxF-1719250782524)]

Java面试题合集:

[外链图片转存中…(img-bCWXSkEa-1719250782524)]

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值