MFC CRuntimeClass 学习

2024-01-07 17:26:12

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

    定义对象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;

文章来源:https://blog.csdn.net/bcbobo21cn/article/details/135406753
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。