如何向函数指针一样,用指针指向一个类(注意不是对象),然后可以用这个指针生成对象。

[复制链接]
查看11 | 回复3 | 2013-4-15 10:41:34 | 显示全部楼层 |阅读模式
根据类的名字产生类的实例,实际上是反射。下面例子根据类名创建类对象。你定义一个类名指针char * classname[100]={"class1","class2",~~~}把创建的类对象的指针赋值给一个指针数组就可以了。pointer = (void *)class1ObjectPointer;#include #include #include using namespace std;class factory{
struct abs_generator
{
virtual ~abs_generator() {}
virtual void* co...
回复

使用道具 举报

千问 | 2013-4-15 10:41:34 | 显示全部楼层
其实标准C++并不支持动态创建对象,比如从一个文本文件中读取类名然后构造一个对象.主要原因是没有丰富的动态元信息,没有单根类库.在Windows中至少有三种办法:你参考一下关于MFC的方法,我觉的挺好的。用DLL来装类也可以动态导出..http: //developer.51cto.com/art/201002/183146.htm...
回复

使用道具 举报

千问 | 2013-4-15 10:41:34 | 显示全部楼层
类声明和定义, 类的声明完,类还是抽象化,没有给其分配具体的空间。既然没空间你觉得可以指针能指向它?只有定义(也就是实例化)的时候,才会给对象分配空间。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行