template class 中的一些小疑问
- C/C++ code
#include "stdafx.h"#include "iostream"using namespace std;template <class T>class fun{public: fun(); void mput(T z); T sum();private: T x; T y; static T sx;};template <class T>fun<T>::fun(){ //类模板成员如何初始化 x,y如何初始化}template <class T>void fun<T>::mput(T z){ cout<<z<<endl;}template <class T>T fun<T>::sum(){ cout<<x+y<<endl; return x+y;}int _tmain(int argc, _TCHAR* argv[]){ fun<int> f1; f1.mput(4); f1.sum(); // T ss; ss = f1.sum(); return 0;}//问题1 :类模板成员如何初始化 x,y如何初始化,static又怎么初始化//问题2 :主函数中返回值怎么写?eg:T ss; ss = f1.sum();[解决办法]
- C/C++ code
template<class T>T fun<T>::sx = T();template<>int fun<int>::sx = 1;