私は学習体験のために独自の二重リンクリストを作成しようとしています。私の本は以下のノード構造体を示しました、そして私はそれが私が作成した私のノードクラスと同等であるかどうか疑問に思いましたか?構造体のその関数は、構造体の各データ型に値を割り当てるコンストラクターの一種ですか?
//===== Struct =====
struct Node
{
Node *next;
Node *prev;
std::string val;
Node(const std::string &value, Node *nextVal = NULL, Node *prevVal = NULL) :
val(value), next(nextVal), prev(prevVal) {}
};
//===== Class ====
class Node
{
public:
Node(std::string value = "", Node *pVal = NULL, Node *nVal = NULL);
virtual ~Node(void);
protected:
Node *next;
Node *prev;
std::string val;
};
Node(std::string value = "", Node *pVal = NULL, Node *nVal = NULL)
{
next = nVal;
prev = pVal;
val = value;
}