社区
C++ 语言
帖子详情
100分求教反射问题
Elever
2004-06-25 10:07:05
C++可以实现反射吗??
如果可以
该怎么实现??
给出方案,经测试后立即给分
谢谢
...全文
205
16
打赏
收藏
100分求教反射问题
C++可以实现反射吗?? 如果可以 该怎么实现?? 给出方案,经测试后立即给分 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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好象就是.
虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27
Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复标识为 “代码味道”,但我们大多数都已经学会忍受它。能不能不写重复的dao 呢 ? 泛型dao,顾名思义就是一个dao可以对多个实体对象进行持久化。当应用中需要使用到上十张表时,DAO的维护变得日益困难,主要表现在这几个方面: 1)dao类的繁多,很多设计都是一个entity对应一个dao (不同的只有类名和方法名) 2)dao接口需要维护的method庞大。 3)业务逻辑改变时,dao需要同时修改两个类文件(接口和实现类) 在本文中,我将为您展示如何避免再三地重复 DAO 代码。 在这里我建议项目最好使用一个共通的DAO,因为这样会为你省去非常多的类,而那些类里的逻辑往往差不多。当然是用共通的DAO你需要对结果转型,转成你需要的bean,但这也比写那么多DAO强多了,你可以放下包袱,只关注你的业务逻辑。 如果你真能只用一个dao解决,那么祝贺你,你得到了一个虚拟数据层(高度抽象的数据接口)。这是一个比dao更高级的存在。 欢迎大家指正 -_- 虚心
求教
代码层次: bean-->dao-->service-->action 技术概述:1.继承 继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。继承其实就是自动地共享基类中成员属性和成员方法的机制。引入继承,实现了代码重用; 2.泛型 泛型类型的限定 3.
反射
代码概述: bean :Person.java 这个人员类我就不说了 泛型dao接口 :GenericDao
泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends GenericDao
可以不写代码,方法已经在父类泛型dao里了,这里为了说明:可扩展添加 findByNameExact()方法 子类的附加方法。 泛型daoimpl :GenericDaoImpl
implements GenericDao
必须提供的构造方法,以便创建实例的时候就知道具体实体的类型。 daoimpl :PersonDAOImpl extends GenericDaoImpl
implements PersonDAO public PersonDAOImpl() { super(Person.class); } 告诉对哪个类操作,如不需要自定义扩展方法就作有一个构造方法。 泛型Service:GenericService.java 与泛型dao没有区别 Service :PersonService.java 直接继承。 泛型serviceimpl与serviceimpl实现和dao层实现一样。 Action : SavePersonAction直接调用PersonService。 下面是代码 为了演示减少代码量而且直观去掉些方法方便读者自己扩展写出适合自己的代码,这里我只抛砖引玉了。主要介绍这个技术。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zylyueliang/archive/2010/09/17/5890043.aspx
泛型dao 泛型dao 泛型dao
Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复标识为 “代码味道”,但我们大多数都已经学会忍受它。能不能不写重复的dao 呢 ? 泛型dao,顾名思义就是一个dao可以对多个实体对象进行持久化。当应用中需要使用到上十张表时,DAO的维护变得日益困难,主要表现在这几个方面: 1)dao类的繁多,很多设计都是一个entity对应一个dao (不同的只有类名和方法名) 2)dao接口需要维护的method庞大。 3)业务逻辑改变时,dao需要同时修改两个类文件(接口和实现类) 在本文中,我将为您展示如何避免再三地重复 DAO 代码。 在这里我建议项目最好使用一个共通的DAO,因为这样会为你省去非常多的类,而那些类里的逻辑往往差不多。当然是用共通的DAO你需要对结果转型,转成你需要的bean,但这也比写那么多DAO强多了,你可以放下包袱,只关注你的业务逻辑。 如果你真能只用一个dao解决,那么祝贺你,你得到了一个虚拟数据层(高度抽象的数据接口)。这是一个比dao更高级的存在。 欢迎大家指正 -_- 虚心
求教
代码层次: bean-->dao-->service-->action 技术概述:1.继承 继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。继承其实就是自动地共享基类中成员属性和成员方法的机制。引入继承,实现了代码重用; 2.泛型 泛型类型的限定 3.
反射
代码概述: bean :Person.java 这个人员类我就不说了 泛型dao接口 :GenericDao 泛型作为DAO的通用接口 CRUD方法 dao接口 : PersonDAO extends GenericDao 可以不写代码,方法已经在父类泛型dao里了,这里为了说明:可扩展添加 findByNameExact()方法 子类的附加方法。 泛型daoimpl :GenericDaoImpl implements GenericDao 必须提供的构造方法,以便创建实例的时候就知道具体实体的类型。 daoimpl :PersonDAOImpl extends GenericDaoImpl implements PersonDAO public PersonDAOImpl() { super(Person.class); } 告诉对哪个类操作,如不需要自定义扩展方法就作有一个构造方法。 泛型Service:GenericService.java 与泛型dao没有区别 Service :PersonService.java 直接继承。 泛型serviceimpl与serviceimpl实现和dao层实现一样。 Action : SavePersonAction直接调用PersonService。 下面是代码 为了演示减少代码量而且直观去掉些方法方便读者自己扩展写出适合自己的代码,这里我只抛砖引玉了。主要介绍这个技术。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zylyueliang/archive/2010/09/17/5890043.aspx
求教
一个Java
反射
得到T.class类型
问题
,附上了
问题
的代码形式。
2019独角兽企业重金招聘Python工程师标准>>> ...
java
反射
循环fileds_
反射
,java_java
反射
fields数量变多,
反射
,java - phpStudy
java
反射
fields数量变多1.这是
反射
过程@Overrideprotected String createTable(String tableName,Class bean) {Field[] fields= bean.getDeclaredFields();StringBuilder stringBuilder =new StringBuilder();stringBuilder....
NTP
反射
型DDos攻击FAQ/补遗
polestar · 2014/02/22 12:370x00 背景前两天,心伤的胖子发表了一篇《浅谈基于 NTP 的
反射
和放大攻击》我之所以又写一篇和NTP有关的文章,是因为前面有些东西没提,或说的不够清楚,浅陋之处,欢迎大家指正留言,我再
求教
改进。名词解释:ntp server :和原子钟同步同步,或以自己为标准时间的ntp服务器。ntp relay server:在/etc/ntp.conf...
C++ 语言
64,682
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章