C++ 类构造函数 & 析构函数
2024-09-03 11:42:53
前言:
析构函数和构造函数是一对。构造函数用于创建对象,而析构函数是用来撤销对象。简单的说:一个对象出生的时候,使用构造函数,死掉的时候,使用析构函数。构造函数 和 析构函数 各有各的用途,在构造函数中,我们来获取资源;在析构函数中,我们来释放资源。释放了之后,这些资源就会被回收,可以被重新利用。比如说,我们在构造函数里打开文件,在析构函数里关闭打开的文件。这是一个比较好的做法。在构造函数里,我们去连接数据库的连接,在析构函数里关闭数据库的连接。在构造函数里动态的分配内存,那么在析构函数里把动态分配的内存回收。
概念:
1.类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
2.类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。
以下的代码方便大家对二者概念的理解:
#include <iostream> 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 ;
}
输出结果如下:
Object is being created
Length of line :
Object is being deleted
最新文章
- Flexbox 布局
- github心得
- Codeforces Round #267 Div2 C George and Job --DP
- LF will be replaced by CRLF in git add
- oracle行转列、列转行
- Asp.net文件缓存依赖
- NET基础课--JIT编译器如何工作1
- JDBC之代码优化
- HDU 1010 Tempter of the Bone【DFS经典题+奇偶剪枝详解】
- hive优化之——控制hive任务中的map数和reduce数
- php进阶篇
- 如何将数据库中的值经过servlet传入到jsp页面,并且用EL表达式显示出值
- 友元(friend)
- DNS 原理
- Windows 添加永久静态路由
- Python3 批量更改文件后缀名
- Nhibernate学习的第二天
- jquery 選擇器
- 【BZOJ2648】SJY摆棋子
- Cache专用: SoftReference