#pragma once template class Node { public: T element; Node* next; Node* prev; public: Node(); // 默认构造 Node(const T& e, Node* n = nullptr, Node* p = nullptr); // 带参数构造 Node(const Node& x); // 拷贝构造(浅拷贝) ~Node() = default; }; template Node::Node() : element(), next(nullptr) , prev(nullptr){} template Node::Node(const T& e, Node* n, Node* p) : element(e), next(p), prev(n){} template Node::Node(const Node& x) : element(x.element), next(nullptr), prev(nullptr){}