具有所有数据类型的C ++优先级队列

时间:2013-05-30 13:35:06

标签: c++ priority-queue

我们必须在C ++中创建优先级队列。应该能够使用模板处理所有数据类型。我们该怎么做呢?附:我们在使用java和C之后2个月才开始学习C ++。谢谢

1 个答案:

答案 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/