CSDN博客

img zergbird

有点动态的factory类

发表于2004/7/3 6:06:00  673人阅读

动态创建这个想法也算想了很久了,概念中知道用宏可以做这件事情,但是一直

没有真正去做,今天趁着兴致,干脆做一把。。。

最后的成果大概可以做到下面这样:

class TT

{public:

 TT(){a=1;}

 int a;};


class P:public TT
{public:

 P(){a=2;}

};

RegisterClass(TT,12)

RegisterClass(P,13)

void main()
{
 TT* t = (TT*) ZFactory::GetInstance()->CreateClass(12);

TT* p = (TT*) ZFactory::GetInstance()->CreateClass(13);

cout<a<

cout<a<

}

输出 1 2

应该算是正确的。

唯一要做的就是写两个宏。。。。还是蛮方便的

这里只能根据int类型做动态生成. 我企图把它做成template形式的,

但是碰到了一些挫折,似乎无法做的那么漂亮,需要在宏指令中添加新的参数,

比如指定参数类型 int, double之类的

 

 

阅读全文
0 0

相关文章推荐

img
取 消
img