我们必须在C ++中创建优先级队列。应该能够使用模板处理所有数据类型。我们该怎么做呢?附:我们在使用java和C之后2个月才开始学习C ++。谢谢
答案 0 :(得分:1)
编写可以处理所有数据类型的类的关键是使用 templates 。 它有点类似于Java的泛型。
示例:
template <typename T>
class MyPriorityQueue
{
std::vector<T> data;
public:
void add(T const &d);
void remove();
void print();
};
所以如果你要创建这个类的对象你会写:
MyPriorityQueue<int> my_object;
定义中的typename T 会自动替换为类型 int
http://www.codeproject.com/Articles/257589/An-Idiots-Guide-to-Cplusplus-Templates-Part-1 http://www.cplusplus.com/doc/tutorial/templates/