C++实现字符串创建类

原理 利用 std::map存储构建构建类的功能对象,通过字符串查找后实现运行时创建字符串对象

优点,减少判断语句,可以通过维护一个字符串即可创建对象。不用写一串switch case语句。

扩展好,可以创建多个派生类对象而无需再次维护生成对象的工厂类。

直接上代码:main函数里面:

声明可以被创建的对象,然后直接通过字符串调用得到该对象的对象指针


还没有创建对象
A被创建
10
Class name not "CIN" to the initialization list
 These classes can be created :
[A,B,Item,]
请按任意键继续. . .

可以看见 是在get函数时才创建对象

这里主要运用了map ,抽象类 还有宏技术

原理很简单 用一个单例去管理类的工厂类,声明的本质就是创建工厂类和往创建功能类里面添加工厂

其实也可以通过继承创建类去实现返回即用,重写返回函数就可以了。但是这是具体需求,就有在创建吧。

直接上源码 单头文件即可运行

主函数完整代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值