テンプレートクラスを定義する場合の構文
template <テンプレート引数のリスト> class クラス名 { ・・・・・・・ }; |
テンプレートクラスからオブジェクトを作成する場合の構文
クラス名<型名> 識別子; |
上記で識別子がオブジェクト名になります。
例を使って説明します。
配列data[10]を持つクラスを作る場合を考えます。
ここで、data[10]は10個のデータを持つ配列です。
データの型がintか、doubleか、charか未定ですが、オブジェクトを作る段階で確定するとしましょう。
そのような場合にテンプレートクラスを使います。
まず、配列data[10]を持つクラスの名前をArrayにして、次のようにテンプレートクラスを定義します。
template <class T> class Array { T data[10]; }; |
次に、実際にテンプレートクラスArrayのオブジェクトarrayを作成します。
オブジェクトarrayではdata[10]をint型にしたい場合、次のように書きます。
Array<int> array; |