我创建了一个类型,它是字符串的优先级队列列表(不是我的想法,我必须这样做):
typedef list<priority_queue<string>> L;
L myList;
现在我需要创建一个M类,它将继承此类型。根据我的承认,我需要使用模板这样做,但我仍然不知道如何做到这一点,我没有在网上找到任何东西。
如何让类从类型继承?
答案 0 :(得分:4)
这很简单:
class foo : L { // Note this is private inheritance
};
类型别名只是另一种类型的名称,而不是其自身的类型。由于std::list
是一个类模板而L
命名为完整的专业化,因此您可以这样做。
请确保不要以任何涉及delete
std::list
指针的多态方式使用它。它不是为它而设计的,因为它缺少虚拟析构函数。