/************************************************************************************************ * 名 称:main.cpp * 功 能:函数模版与类模版 * 描 述:无 * 作 者:JarvisChu * 时 间:2011-6-30 *************************************************************************************************/ #include <iostream> using namespace std; #define _DEBUG_FUNCTION_TEMPLATE #define _DEBUG_CLASS_TEMPLATE #ifdef _DEBUG_FUNCTION_TEMPLATE /*函数模版*/ template<class T> T Add(T a, T b){ T c; c = a+b; cout<<"函数模版内计算结果:"<<c<<endl; return c; } #endif #ifdef _DEBUG_CLASS_TEMPLATE template<class T> class TempClass{ public: TempClass(){} T Add(T a, T b){ T c; c = a+b; cout<<"类模版内计算结果:"<<c<<endl; return c; } void show(T value); virtual ~TempClass(){}; }; template <class T> void TempClass<T>::show(T value){ cout<<value<<endl; } #endif int main() { #ifdef _DEBUG_FUNCTION_TEMPLATE cout<<"调用函数模版计算结果:"<<Add<int>(3,4)<<endl; #endif #ifdef _DEBUG_CLASS_TEMPLATE TempClass<double> templt; cout<<"调用类模版计算结果:"<<templt.Add(3.1,4.2)<<endl; templt.show(12.3); #endif return 0; }