C++ 類模板的成員函式程式碼筆記
阿新 • • 發佈:2018-11-11
#include <iostream> #include <cstring> using namespace std; template <class T> class Max4 { T a,b,c,d; //四個型別為T的私有資料成員 T Max(T a,T b){return (a>b)?a:b;} //語句1,型別為T,引數型別為T,返回a、b二者最大值的私有成員函式 public: Max4(T,T,T,T); //宣告建構函式,含4個型別為T的引數 T Max(void); //宣告返回值型別為void的公有成員函式 }; template <class T> //定義成員函式必須再次宣告類模板 Max4<T>::Max4(T x1,T x2,T x3,T x4):a(x1),b(x2),c(x3),d(x4) { } //語句2 template <class T> //定義成員函式必須再次宣告類模板 T Max4<T>::Max(void) {return Max(Max(a,b),Max(c,d));} //語句3,定義類Max4的成員函式Max(void),定義時要將Max<T>看作整體 int main( ) { Max4 <char> C('W','z','a','A'); //語句4,比較字元 Max4 <int> A(-25,-67,-66,-256); //語句5,比較整數 Max4 <double> B(1.25,4.3,-8.6,3.5); //語句6,比較雙精度實數 cout<<C.Max( )<<" "<<A.Max( )<<" "<<B.Max( )<<endl; //語句7 return o; }