析构函数
C++中,构造函数用于初始化调用。与构造函数相反,析构函数用于反初始化。但他们相同的是,都是自动调用。
构造函数发生在变量生命周期的开始,析构函数发生在变量声明周期的结束前。
语法
~类名(){
函数体
}
特点
- 名字特殊,有“~”
- 不能重载
- 可以显示调用,如下面实列中的:
timer2.~tagClock();
实例:
#include"stdafx.h"
#include <iostream>
struct tagClock
{
int iHour;
int iMin;
int iSec;
tagClock(){
iHour = 0;
iMin = 0;
iSec = 0;
}
~tagClock(){
printf("我是析构函数\r\n");
}
tagClock(int argHour, int argMin, int argSec){
printf("我是构造函数\r\n");
iHour = argHour;
iMin = argMin;
iSec = argSec;
}
tagClock(tagClock& otherClock){//拷贝构造
printf("我是拷贝构造\r\n");
iHour = otherClock.iHour;
iMin = otherClock.iMin;
iSec = otherClock.iSec;