コピーコンストラクタ

次のタイミングで呼び出される
1. 代入初期化
> Hoge obj2 = obj1;
つぎはただの代入
> obj3 = obj1;

2. 仮引数
> func( obj )
func 終了時にデストラクタが呼ばれるので二重削除の原因になる。
class Hoge {
...
Hoge( const Hoge &obj );
};

Hoge::Hoge( const Hoge &obj ){
  val = obj.val;
  p = new Hage( *(obj.p) );
  ...
}
仮引数が const object なので,const method しか呼び出せないことに注意!
constメンバ
最終更新:2010年05月11日 19:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。