【发布时间】:2016-12-25 07:22:42
【问题描述】:
我正在做一个涉及大量多个类列表的程序。我很确定它有一个名字,但我真的不知道怎么称呼它,我想做的是制作一个包含一些函数(如元素插入,getter ...)的通用列表,所有列表继承并可以使用通用列表的功能。所以我的问题是如果可能的话如何用一个例子来做。 我在下面做了一个标头代码示例。
class CommonList {
public:
// Add some functions
// T here is not a class I've made.
void insere(T element);
T getElement(int id);
protected:
std::map<int,T> m_map;
};
class A {
public: A();
}
class B {
public: B();
}
class ListA : public CommonList {
// Tell the program that element T are ONLY object of class A.
// Like if I would have made this.
/*
public:
void insere(A element);
A getElement(int id);
protected:
std::map<int,A> m_map;
*/
};
class ListB : public CommonList {
// Same for B.
}
【问题讨论】:
-
您可以使用
CommonList的模板 -
它被称为
std::list(但没有继承)。
标签: c++ list templates inheritance