2008-10-17 Accelerated C++第12章 C++ Accelerated C++ 3のルールの変形 一般に、デストラクタが必要でないクラスでは、コピーコンストラクタと代入演算子もわざわざ書く必要はない メンバ関数にすべきものとそうでないもの 入力、出力演算子ははメンバ関数にできない friend 宣言 クラス定義のどこに書いてもかまわない 2項演算子 もしクラスが型変換を定義しているなら、普通は2項演算子をメンバ関数でないように定義するのがよいでしょう。 代入演算子 代入演算子、複合代入演算子はクラスのメンバであるべき explicit宣言 コンパイラはエクスプレッションや関数において、explicitなコンストラクタを、非明示的な型変換に使わない オブジェクトの構造を決めるコンストラクタをexplicitにすると有効 引数がオブジェクトの一部になるコンストラクタは普通explicitにすべきでない 型変換演算子 型変換演算子はクラスのメンバでなければならない 型変換演算子は、クラス型から組み込み型に変換するものが有用