コピー不可にするインターフェース。 private継承して使う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
- - | | - | | | | | | | | | | | | | ! | !
/** * @file * コピーできないインターフェース。 */ #pragma once //----------------------------------------------------------- namespace apcl { namespace interface { /// コピーできなくするインターフェース。private継承をして使用する。 class NonCopyable { public: /// 生成・破棄 //@{ NonCopyable(); virtual ~NonCopyable(); //@} private: /// 実装しない関数たち //@{ NonCopyable( const NonCopyable& aObject ); ///< コピーコンストラクタ const NonCopyable& operator = ( const NonCopyable& aObject ); ///< 代入演算子 //@} }; }} // end of namespace ::apcl::interface //----------------------------------------------------------- // EOF
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
- ! - !
/** * @file * NonCopyable.hppの実装を記述する。 */ #include <apcl/interface/NonCopyable.hpp> //----------------------------------------------------------- using namespace ::apcl::interface; //----------------------------------------------------------- NonCopyable::NonCopyable() { } //----------------------------------------------------------- NonCopyable::~NonCopyable() { } //----------------------------------------------------------- // EOF