template <class T> class Sample{ public: void somefunction(T &data) }; template <class T> void Sample::somefunction(T &data){ //何らかの処理。例はdataに1を加える data = data++; } Sample<int> ClassA; <-int型のクラスClassAを作成。ここをdouble型など変更することで別の方でも使うことができる。 ClassA.somefunction(5);