【发布时间】:2015-12-08 08:24:40
【问题描述】:
我是 C++ 的初学者,需要一些帮助来理解基本知识。这是我的类定义:
template <class T>
class List;
template <class T >
class Node {
friend class List<T>;
private:
Node *prev, *next;
public:
T data;
Node() :prev(), next() {}
Node * Prev();
Node * Next();
Node * InsertAfter(List<T> * list, const T& data);
Node * InsertBefore(List<T> * list, const T& data);
};
我不确定如何格式化我的构造函数
Node() :prev(), next() {}
还有这段代码在这里:
Node * InsertAfter(List<T> * list, const T& data);
Node * InsertBefore(List<T> * list, const T& data);
这是否意味着该方法应该返回一个节点?
谢谢
【问题讨论】:
-
这是否意味着该方法应该返回一个节点 - 是的,但它应该有文档它返回哪个节点。它可以返回新节点,也可以返回自身 (
this)。 -
好的,但是使用 Node() 的构造方法会是什么样子:prev(), next() {}
-
这是否意味着该方法应该返回一个节点? 不!该方法应该返回一个指向
Node的指针。有很大的不同,在学习基础知识时了解两者之间的区别很重要。 -
Node * Prev();只是类似于 java getNode 或类似的东西?
标签: c++ pointers linked-list doubly-linked-list