C++如何存储模板对象的集合,无论tempate如何

Rus*_*rse 2 c++ collections templates

我在实现数据库表库时遇到问题.我有一个存储不同类型的类列.

template <class T>
class Column : iColumn<T>
{ 
... 
}
Run Code Online (Sandbox Code Playgroud)

表由列组成,因此我需要它们的集合(使用字符串名称作为键,将列作为值映射).无论模板类型如何,我如何实现所有表列的一个集合?

谢谢任何肝脏.

Not*_*ist 5

你应该有一个共同的界面.

class Column<T>: public IColumn {
  ...
};

std::map<std::string,IColumn*> columns;
Run Code Online (Sandbox Code Playgroud)