#pragma once #include class Node { public: Node(int v); int get_val() const; void set_val(int val); std::shared_ptr get_next() const; void set_next(std::shared_ptr next); std::shared_ptr get_prev() const; void set_prev(std::shared_ptr prev); private: int val_; std::shared_ptr next_; std::weak_ptr prev_; };