c++ - 如何将类更改为模板类?

标签 c++

我需要将第一行更改为:template <class T> class Node{

class Node {
private:
  double data;
  Node* next;
public:
  Node(double);
  virtual ~Node(); //for later use of polymorphismi, review the topic again

  friend class Stack; // allows dStack for private member access
};

Node::Node(double data) {
  this->data = data;
  next = 0;
}

Node::~Node() {
}

但我不确定我需要更改的所有内部工作。我只需要更改私有(private)数据成员和公共(public)节点函数吗?

最佳答案

我认为您正在寻找的是以下内容:

template<typename T>
class Node
{
private:
    T data;
    Node* next;
public:
    Node(const T& d);
    virtual ~Node();
    // ... etc
};

请注意,您需要在同一文件中内联实现模板类,或者在头文件底部包含实现。

关于c++ - 如何将类更改为模板类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19260102/

相关文章:

c++ - 关于按属性配对用户的问题..算法/数据结构

C++ 字符串操作,字符串下标超出范围

创建输出存储而不是应用于现有存储的 C++ 算法?

c++ - 如何使用 clang API 解析函数指针的 typedef 以获取函数指针名称?

c++ - 使用 C++ 库 eigen 的下 cholesky 对角线的方形元素

c++ - 为什么模板模板参数没有按预期工作?

c++ -/usr/bin/ld : cannot find -lLLVMJIT(and -lLLVMipa) in ubuntu 16. 04

c++ - 基于类实现功能困难

c++ - 无法将参数从 T 转换为 T&

c++ - 流网络摄像头速度慢 "detectMultiScale"