<分区>
Possible Duplicate:
Why is the C++ STL is so heavily based on templates? (and not on interfaces)
为什么 STL
和 Qt
容器都不实现接口(interface)。例如,对于 vectors
和 lists
,它可以是 Enumerable
。
像这样:
template <typename T>
class Enumerable
{
public:
virtual const T at(int k) = 0;
//....
virtual ~Enumerable() {}
};
template <typename T>
class Vector: public Enumerable<T>
{
public:
virtual const T at(int k);
//....
};
因此,我使用的代码迫使我使用其中使用的具体类型的容器。