本文将详细介绍如何在一个MFC工程中创建一个自己的C++类。
目录
一、创建类
step1:添加类
在上面的项目中选择添加类
step2:编辑类名
在这个界面写上自己的类名,写完后点击确认,将产生两个文件。如图我的就是Cbmp.h和Cbmp.cpp文件。(.cpp文件其实就是类比c语言中的.c文件)
shep3:编辑类里面的函数
在后缀名为.cpp的文件里面编辑自己的函数。
但是注意在这个类里面每一个函数在函数类型的后面需要加上类名
除开自己需要用到的函数以外,还需要添加构造函数和析构函数。如下图
对于构造和析构函数,有时候不添加也不会报错,但是还是存在一定风险。
下面是对析构函数的详细解说:
析构函数是一个特殊的函数,它在对象被销毁时自动调用,用于释放对象使用的资源和进行清理操作。可以通过重载析构函数,根据对象的成员变量和所使用的资源对它们进行适当的清理操作,例如释放通过new动态分配的内存,关闭文件句柄等。
如果没有显式地定义析构函数,编译器会自动为类生成一个缺省的析构函数,这个函数其实什么也不做。通常来讲,如果一个类中没有包含动态分配内存或者其它需要进行资源释放或清理的操作,可以不需要显式地定义析构函数。
但是如果一个类中涉及到了动态分配的内存或文件/数据库/网络等资源的使用,在这种情况下,我们就需要显式地定义析构函数,进行资源的释放和清理工作。否则,如果没有正确释放内存或关闭资源等,可能会导致内存泄漏或资源泄漏等问题,进而影响程序的性能和稳定性。
所以,虽然没有显式地定义析构函数代码也可以正常运行,但是如果类中包含有需要释放资源的操作,就需要显式地定义一个析构函数进行相应的清理操作,以确保程序的健壮性和稳定性。
shep4:编辑头文件
打开头文件可以看到在第一行有
#pragma once
作用: 指定在编译源代码文件时编译器仅包含头文件一次。
说明:
- 使用
#pragma once
可以减少生成时间,因为编译器不会在翻译单元中的第一个文件之后打开并再次读取该文件 #include 。 这称为 " 多个包含优化"
头文件的作用就是声明这个类中的函数,变量等,同时可以在这里对变量函数的适用范围进行限定。
二、调用类
step5:声明刚刚创建的类
在使用自己创建的类时需要在使用的文件中引用该类的头文件
step6:使用类中的函数
1.以指针的形式调用
2.直接以对象的形式调用
在MFC中如何添加事件的消息响应函数,可以查看文章0基础学习MFC之添加事件的消息响应函数_mfc菜单添加事件处理程序_宁77吖的博客-CSDN博客