⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 destructordemo.cpp

📁 《基于Symbian OS的手机开发与应用实践》这本书的配套源码。
💻 CPP
字号:
// DestructorDemo.cpp : 演示析构函数的定义和使用
//

#include <stdio.h>
#include <string.h>

class PointD
{
    public:
		int x;
		int y;
		//字符数组指针,用于保存对象的名字
		char *name;

		bool Equals(PointD *p);

		//下面定义了一个构造函数
		PointD(int x, int y); 
		//下面定义一个析构函数
		~PointD();
};

bool PointD::Equals(PointD *p)
{
	return ((p->x == x) && (p->y == y));
}

PointD::PointD(int x, int y)
{
	this->x = x;
	this->y = y;

	//创建缺省的名字
	name = new char[20];
}

//析构函数实现
PointD::~PointD()
{
	printf("调用(%s)的析构函数\n", name);
	//删除并将指针置为空指针
	if (name != NULL) 
	{
		delete name;
		name = NULL;
	}
}


int main(int argc, char* argv[])
{
	//定义第一个点
	PointD *p1 = new PointD(100, 100);
	strcpy(p1->name, "第一个点");

	//定义第二个点
	PointD *p2 = new PointD(200, 100);
	strcpy(p2->name, "第二个点");

	printf("第一个点的坐标为(%d, %d)\n", p1->x, p1->y);
	printf("第二个点的坐标为(%d, %d)\n", p2->x, p2->y);
	if (p1->Equals(p2))
	{
		printf("两个点相同\n");
	}
	else
	{ 
		printf("两个点不相同\n");
	}

	//删除创建的对象指针
	delete p1;
	p1 = NULL;
	delete p2;
	p2 = NULL;

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -