实际工作中,C++的高级语法特性很少用。以简单为主,模板啥的很少。
记录下所不熟悉的问题。
问题来源:
想随时查看所有对象池的实例的详情。
对象池
template<class T>
class poolmgr
{
}
记录所有此对象池的实例
class poolmeminfo
{
//增加,移除接口
private:
std::list<poolmgr*> m_infolist;
}
问题来了。模板参数T问题。。。
询问了一个网友,解决方案是通过基类,当然所需要的接口定义为虚函数
如下:
class poolmgrbase
{
public:
poolmgrbase(){}
virtual ~poolmgrbase(){}
virtual void writeinfotofile (FILE *fp) = 0;
};
template<class T>
class poolmgr:public poolmgrbase
{
}
class poolmeminfo
{
//增加,移除接口
private:
std::list<poolmgrbase*> m_infolist;
};
至此Ok。
话说要是真不知道杂弄,都打算换C的对象池了。。。