100分求教反射问题

Elever 2004-06-25 10:07:05
C++可以实现反射吗??
如果可以
该怎么实现??
给出方案,经测试后立即给分
谢谢
...全文
213 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
北极猩猩 2004-06-28
  • 打赏
  • 举报
回复
实际上反射就是在对象的运行期为对象添加可查询的类型信息。
比如,MFC里面的反射实现是通过宏将这些元数据信息作为对象的一个静态属性添加到对象里
而.net和java是通过编译器和runtime来完成元数据的管理和插入的
Wolf0403 2004-06-26
  • 打赏
  • 举报
回复
在一个类型体系框架内使用注册机制就可以做到。不论 MFC, .net 还是 Java 都是这样的。
nscboy 2004-06-26
  • 打赏
  • 举报
回复
不知道C++Bulder是怎样实现的.
sandrowjw 2004-06-25
  • 打赏
  • 举报
回复
你必须在编译期知道每一个类的类型信息。
一种变通的方法是用Entity-Property类来模拟,把成员函数、成员变量都作为Property挂上去,但实际上功能和性能都很勉强,还不如用注册表和正确地设计类的层次关系。
ibelieveicandie 2004-06-25
  • 打赏
  • 举报
回复
不支持反射。但是可以通过注册每一个类的方法模拟实现。
yjh1982 2004-06-25
  • 打赏
  • 举报
回复
汗~~不是叫你用MFC,而是参考它的做法呀.
qwertasdfg123 2004-06-25
  • 打赏
  • 举报
回复
忘了

#include <iostream>
using namespace std;
qwertasdfg123 2004-06-25
  • 打赏
  • 举报
回复
不知道如下可不可以:
// WIN2000 VC6
#define CREATECLASS(type, name) typedef struct tag##name { type i; } name


int main()
{

CREATECLASS(int,myclassname);
myclassname m;
m.i=10;
cout << m.i << endl;
return 0;
}
qwertasdfg123 2004-06-25
  • 打赏
  • 举报
回复
你说的反射应该是RTTI吧。
Elever 2004-06-25
  • 打赏
  • 举报
回复
MFC是一套框架啊
要把它挪到Linux下太恼火了

难道除了MFC就没有别的办法实现了吗?
yjh1982 2004-06-25
  • 打赏
  • 举报
回复
原理不一样么.C++本身不支持
Elever 2004-06-25
  • 打赏
  • 举报
回复
你说的实dynamic的宏吧
问题是它其实不能算C++的实现方案
在linux下使用面向对象的思想
如何搞?
yjh1982 2004-06-25
  • 打赏
  • 举报
回复
那就是了嘛
Elever 2004-06-25
  • 打赏
  • 举报
回复
简言之,给出类名,产生对应类的实例
qwertasdfg123 2004-06-25
  • 打赏
  • 举报
回复
MFC是消息反射。
楼主说的反射是指。。。。。。?
yjh1982 2004-06-25
  • 打赏
  • 举报
回复
MFC好象就是.

65,192

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧