1、析构函数使用例子
#include <iostream>
#include <string.h>
using namespace std;
class CPerson
{
public:
CPerson();
~CPerson();
char *m_pMessage;
void showStartMessage();
void showFrameMessage();
};
CPerson::CPerson()
{
m_pMessage = new char[100];
}
CPerson::~CPerson()
{
delete[] m_pMessage;
}
void CPerson::showStartMessage()
{
strcpy(m_pMessage,"Welcome to Linux");
cout << m_pMessage << endl;
}
void CPerson::showFrameMessage()
{
strcpy(m_pMessage, "****************");
cout << m_pMessage << endl;
}
int main(int argc, char *argv[])
{
CPerson person;
person.showFrameMessage();
person.showStartMessage();
person.showFrameMessage();
return 0;
}
2、构造函数和析构函数的调用顺序
#include <iostream>
#include <string.h>
using namespace std;
/* 定义父类 */
class CEmployee
{
public:
CEmployee()
{
cout <<" CEmployee的构造函数被调用"<<endl;
}
~CEmployee()
{
cout <<" CEmployee的析构函数被调用"<<endl;
}
};
/* 子类Operator公有继承CEmployee */
class COperator : public CEmployee
{
public:
COperator()
{
cout <<" COperator的构造函数被调用"<<endl;
}
~COperator()
{
cout <<" COperator的析构函数被调用"<<endl;
}
};
int main(int argc, char *argv[])
{
COperator O1;
return 0;
}
3、注意事项
- 在一个类中只能定义一个构造函数;
- 析构函数不能重载;
- 析构函数不能return,也不需要void修饰;
析构函数
浙公网安备 33010602011771号