テンプレートクラスを定義する場合の構文
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; |