构造函数与析构函数
来源:互联网 发布:连接池 java 编辑:程序博客网 时间:2024/05/01 10:34
概述:
为什么会有构造函数与析构函数?
一个对象的数据成员反应了该对象内部状态,但在类的声明中,无法初始化这些数据的值,例如:我们在一个类point中声明了两个变量:int x,y;然后我们声明了一个对象 p;这时对象p中的x,y值没有初始化,也就是没有被赋值。如果我们想像声明一个变量一样对对象的数据成员也初始化,那么我们就要用到构造函数了。总而言之构造函数就是可以将类的数据成员进行初始化的函数。
一.构造函数
构造函数是一种特殊的成员函数,对象的创建和成员的初始由它完成。函数名称与类名相同。
格式如下:
<类名>::<类名>
{
}
例如:
Class Point
{
Public :
Int x,y
Public
Point();//构造函数
~Point();
}
Point::Point()//构造函数是实现
{
X=0;
Y=0;
}
当我们声明一个对象时
Point p;
p.x和p.y的值都为0;
说明:
1. 它的函数名与类名相同
2. 可以重载
3. 不能指定返回类型
4. 不能显示调用,创建对象时自动调用
二.析构函数
析构函数也是一种特殊的成员函数,它的作用是在对象消失时执行一系列的清理任务,例如可以释放内存等。
其格式如下:
<类名>::<类名>
{
}
例如:
Class Point
{
Public :
Int x,y
Public
Point();//构造函数
~Point();
}
Point::Point()//构造函数是实现
{
X=0;
Y=0;
}
Point::~point()
{
Cout<<”(“<<x<<”,”<<y<<”)”<<endl;
}
Point p;
p.~point();
这时结果会输出(0,0);
说明:
1. 析构函数与类名相同,在函数名前要加~符号
2. 析构函数没有参数,也不能重载,一个类中只能定义一个析构函数
3. 不能指定返回类型
4. 析构函数自动调用,不需要去显示调用。(如果你在析构函数里面加入了语句,那就要显示去调用了)
- 构造函数与析构函数
- 构造函数与析构函数
- c#构造函数与析构函数
- 构造函数与析构函数
- 构造函数与析构函数(整理)
- 构造函数与析构函数
- 构造函数与析构函数
- c#构造函数与析构函数
- 构造函数与析构函数研究
- 构造函数与析构函数(读书笔记)
- 构造函数与析构函数
- 构造函数与析构函数
- 构造函数与析构函数
- 构造函数与析构函数
- C++ 构造函数与析构函数
- 构造函数与析构函数
- 构造函数与析构函数
- 使用构造函数与析构函数
- Linux内核裁剪与编译(上篇)--基于2.6.30内核
- kernel 动态调试
- js新窗口打开或转向链接时不发送REFERER的方法
- ls 详解
- Linux服务器SNMP常用OID
- 构造函数与析构函数
- KVM虚拟机快照
- 最近项目的技术要点及浏览器内部工作原理
- hama学习笔记(1)-配置和启动hama
- 整数转换成指定位字符串形式
- 什么是光耦
- GNU内联汇编(AT&T语法)
- oc中关于property和synthesize
- opencv一次读取多幅图像问题