template
e.g.1
#include <iostream> template<class T> class Data { T data; public: void SetData(T d){ data=d; } T GetData(){ return data; } }; int main(void) { Data<int> data_int; Data<float> data_float; data_int.SetData(3); data_float.SetData(1.5f); std::cout << data_int.GetData() << std::endl; std::cout << data_float.GetData() << std::endl; return 0; }