MFC CRuntimeClass 学习

新建一个控制台工程,按以下步骤;

    定义对象Person,继承CObject,在头文件中添加宏:DECLARE_DYNCREATE(Person)

    在源文件中添加宏:IMPLEMENT_DYNCREATE(Person, CObject)

    main.cpp中,

        使用宏:CRuntimeClass* pRuntimeClass  = RUNTIME_CLASS(Person);运行时类信息

        使用运行时类信息创建对象:Person* pPerson = (Person*)pRuntimeClass->CreateObject();

代码如下;

Person.h,

#pragma once

#define _AFXDLL
#include <afxwin.h>
#include <afx.h>

class Person : public CObject
{
protected:
	Person() noexcept; //无异常抛出
	DECLARE_DYNCREATE(Person)

public:
	long m_id;
	CString m_name;
	int m_age;
};

Person.cpp,

#include "Person.h"

IMPLEMENT_DYNCREATE(Person, CObject)
Person::Person() noexcept
{
	m_id = 1;
	m_age = 102;
	m_name = _T("John");
}

main.cpp;

相关推荐

  1. 学习 学习

    2024-01-07 06:24:03       65 阅读
  2. 学期学习计划

    2024-01-07 06:24:03       44 阅读
  3. 学习笔记:机器学习

    2024-01-07 06:24:03       78 阅读
  4. C++学习-List学习

    2024-01-07 06:24:03       50 阅读
  5. opencv学习 机器学习

    2024-01-07 06:24:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 06:24:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 06:24:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 06:24:03       82 阅读
  4. Python语言-面向对象

    2024-01-07 06:24:03       91 阅读

热门阅读

  1. python使用隐马尔可夫模型识别波形数据MFCC特征

    2024-01-07 06:24:03       61 阅读
  2. vim常用命令总结

    2024-01-07 06:24:03       59 阅读
  3. vuetify 回到顶部

    2024-01-07 06:24:03       55 阅读
  4. Vue 进阶面试题

    2024-01-07 06:24:03       49 阅读
  5. (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测

    2024-01-07 06:24:03       57 阅读
  6. (rhel8)man rpm个人学习笔记

    2024-01-07 06:24:03       56 阅读
  7. One-hot编码

    2024-01-07 06:24:03       46 阅读
  8. Android 13.0修改recovery 菜单项字体大小

    2024-01-07 06:24:03       59 阅读
  9. 关于鸿蒙的笔记整理

    2024-01-07 06:24:03       51 阅读
  10. Golang 接口

    2024-01-07 06:24:03       58 阅读
  11. Node.js中的模块,常用模块具体代码示例

    2024-01-07 06:24:03       63 阅读
  12. npm指令

    2024-01-07 06:24:03       54 阅读
  13. go http升级为websocket举例

    2024-01-07 06:24:03       59 阅读
  14. 在 Vim 的配置文件中设置自动显示行号

    2024-01-07 06:24:03       56 阅读
  15. Android Compose——ScrollableTabRow和LazyColumn同步滑动

    2024-01-07 06:24:03       48 阅读