ほかの型と同じく、クラスも動的に割り当てることが出来る。(以下のように)複素数の実数
部と虚数部をカプセル化するComplexクラスを宣言している。

Complexのコンストラクタが2つ引数を受け取ることに注意しましょう。
Complexのインスタンスを割り当てるには、これらの引数を渡す必要がある。

その他の型を動的に割り当てる場いいと同じように、new演算子が返すのは、動的に割り当て
られたオブジェクトへのポインタである。オブジェクへのポインタがある時は、->演算子で、
そのpublicなメンバーにアクセスできる。例えば、もしComplexクラスに、
引数を受け取らないNegateというpublicなメンバー関数があれば次のように書くことで、
オブジェクトcのNegate関数を呼び出すことができる。

オブジェクトの配列を動的に割り当てることもできる。これが可能なのは、
そのクラスがデフォルトコンストラクター(引数をうけとらないコンストラクター)
を持つ時だけだ。その理由は、配列を動的に割り当てる時には、コンストラクターに引数を指定する方法がないからだ。
クラスにコンストラクターを定義しないと、C++が自動的にデフォルトコンストラクターを作成する。
もしも引数を受け取るコンストラクターを宣言したら、C++はデフォルトコンストラクターを自動的に作らない。
その場合、もし配列を作りたいためにデフォルトコンストラクターが欲しければ、自分で宣言しなければいけない。
先ほどのComplexの場合、デフォルトではないコンストラクターを宣言したので、
デフォルトコンストラクターは存在しない。
【戻る】