node.hpp
来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 61 行
HPP
61 行
// Copyright David Abrahams 2004. Use, modification and distribution is// subject to the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)#ifndef NODE_DWA2004110_HPP# define NODE_DWA2004110_HPP# include <iostream>// Polymorphic list node base classstruct node_base{ node_base() : m_next(0) {} virtual ~node_base() { delete m_next; } node_base* next() const { return m_next; } virtual void print(std::ostream& s) const = 0; virtual void double_me() = 0; void append(node_base* p) { if (m_next) m_next->append(p); else m_next = p; } private: node_base* m_next;};inline std::ostream& operator<<(std::ostream& s, node_base const& n){ n.print(s); return s;}template <class T>struct node : node_base{ node(T x) : m_value(x) {} void print(std::ostream& s) const { s << this->m_value; } void double_me() { m_value += m_value; } private: T m_value;}; #endif // NODE_DWA2004110_HPP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?