#include<iostream.h>
class f {
private:T x, y;
public:f1(T a,T b){x=a;y=b;}
T max( ){return(x>y)?x:y;}
};
main( ) {
f a;
a.f1(1.5,3.8);
cout<<a.max( )<<endl;
}

改错题:以下程序中有一处错误,请抄写有错误的语句并指出错误原因。


#include<iostream.h>
class f {
private:T x, y;
public:f1(T a,T b){x=a;y=b;}
T max( ){return(x>y)?x:y;}
};
main( ) {
f a;
a.f1(1.5,3.8);
cout<<a.max( )<<endl;
}


【正确答案】:

T X,Y;

模板没有声明


【题目解析】:

类似于—般函数的调用,函数模板的调用也需要先声明。

定义函数模板的一般格式如下:
template <模板参数表>
返回类型名 函数模板名(参数表)
{
函数体的定义
}



Top