当前位置:首页|资讯

C++类的反射的实现

作者:大漠孤烟爱长河落日发布时间:2024-10-12

要想实现如C#一样的类反射创建对象,并给对象字段赋值,就要知道类的名称,类的字段名称,字段数据类型,字段个数才能动态的创建类对象

1.要创建一个结构体来保存类的字段信息

2.创建一个所有要动态创建的类的父类,想要动态创建类对象就要继承该类


3.是后就是定义一些宏来添加类的静态数组和字段信息


4.实例用法

4.1定义类继承QObject

4.2 用法

在要创建的地方通过QObject创建子类,new一个对象

在通过GetClassFieldNode()虚函数获得子类的静态数组地址

有这两个就能对类对象进行赋值和获得字段的值

给对象的字段赋值

获取字段的值


就这样就可能对类实现动态创建并对其赋值


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1