ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

汎用クラスその3

汎用クラスでメンバ関数の実装部分での記述の仕方で戸惑ったのでメモ。

template <class T型> 返り値の型 クラス名<T型>::メンバ関数名(仮引数リスト)
{
    ...
}

たとえば汎用型を返すメンバ関数の場合は次のような感じ。

#include <iostream>
using namespace std;

template <class T> class Test
{
    T mValue;
public:
    void set(int i) { mValue = i; }
    T get();
};

template <class T> T Test<T>::get()  // Tを返すメンバ関数
{
    return mValue;
}

void main()
{
    Test<int> obj;

    obj.set(123);
    cout << obj.get() << endl;
}