MFC CRuntimeClass 学习

706 篇文章 ¥99.90 ¥299.90
本文介绍了MFC框架中的CRuntimeClass类,它提供了运行时类型信息(RTTI)和动态对象创建功能。通过DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE宏,可以获取并利用CRuntimeClass创建Person对象。CRuntimeClass包含类名和对象大小等信息,适用于插件系统和动态对象创建的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

#i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值