C++ 类模板的成员函数代码笔记

#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;
}

猜你喜欢

转载自blog.csdn.net/qq_37592750/article/details/83044121