有点动态的factory类

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

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

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

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< < p>

cout< a< < p>

}

输出 1 2

应该算是正确的。

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

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

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

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值