我有一个资源管理类,叫 ResMgr,里面要管理很多不同类型的资源,ResA、ResB、ResC,这些资源都是从文件中初始化的,都继承类同一个基类 ResBase,每添加一个新的资源 ResX,我都要加同样的代码
- 在 ResMgr 里面加一个私有的成员变量:
private:
ResX res_x_;
- 在 ResMgr 里面加一个共有的访问函数:
public:
const ResX& res_x() const { return res_x_; }
- 在 ResMgr 的初始化函数中,加一个 ResX 的初始化
res_x_.init("path");//这个 path 对不同的资源来说是不一样的
有没有什么方式一口气把这三件事一起做了啊,我现在已经有 30 多种资源了,感觉一样的代码写了无数遍……
最好是能在 c++11 标准下解决,更高级的语法暂时不支持