-2

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

4

1 回答 1

1

编写可以处理所有数据类型的类的关键是使用模板。它有点类似于 Java 的泛型。

例子:

template <typename T>
class MyPriorityQueue
{
     std::vector<T> data;
  public:
     void add(T const &d);
     void remove();
     void print();
};

所以如果你要创建这个类的一个对象你会写: 定义中的类型MyPriorityQueue<int> my_object;T自动替换为类型int

http://www.codeproject.com/Articles/257589/An-Idiots-Guide-to-Cplusplus-Templates-Part-1 http://www.cplusplus.com/doc/tutorial/templates/

于 2013-06-01T10:08:31.303 回答