初级C++-解释类定义

Beginner C++ - Explaining Class Definition

本文关键字:定义 解释 C++- 初级      更新时间:2023-10-16

我是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);
};

我不确定如何格式化我的Constructor

    Node() :prev(), next() {}

这里的代码段:

    Node * InsertAfter(List<T> * list, const T& data);
    Node * InsertBefore(List<T> * list, const T& data);

这是否意味着该方法应该返回一个节点?

感谢

我会编写如下的重写默认构造函数:

Node() 
 : prev(nullptr)
 , next(nullptr) 
 {
 }

默认构造函数应始终包含将数据成员初始化为零值或未初始化值(名称为UNKNOWNINVALIDenum值)的例程。如果您的任何对象仍然未初始化,如果有人试图对未初始化的对象执行任何操作,则归零会导致段故障。如果我们留下空的构造函数体,这比内存损坏更容易调试。