[C++] クラスを定義するときに,これだけは必要だろっていうメンバーのまとめ

class T {
public:
    T();
    T(const T& other);
    virtual ~T() throw();

    T& operator=(const T& other);

private:
    struct TImpl;
    TImpl* pimpl_;
}
T::T()
デフォルトコンストラクタ
T::T(const T& other)
コピーコンストラクタ
virtual T::~T() throw()
デストラクタ.デストラクタは絶対 virtual, 絶対例外投げない.
T& T::operator=(const T& other)
代入演算子
TImpl* T::pimpl_
PImpl イディオムでメンバー変数を隠蔽


他にも,「これはあったほうがいいよ!」とか「ここおかしいよ!」っていうのがあったら教えてください m(__)m