请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。
#include <iostream>
using namespace std;
/*请在这里填写答案*/
template<class T>
class Absolute
{private:
T x;
public:
T getValue(void)const;
Absolute(T x_=0){x=x_;};
};
template<class T>
T Absolute<T>::getValue()const
{
if(x<0)
return 0-x;
else if(x>=0)
return x;
}
//template<class T>
int main(void){
char c='\0';
int i=0;
long l=0;
scanf("%c%d%ld",&c,&i,&l);
float f=1.1;
double d=2.2;
scanf("%f%lf",&f,&d);
Absolute<char> dc(c);
cout<<dc.getValue()<<endl;
Absolute<int> di(i);
cout<<di.getValue()<<endl;
Absolute<long> dl(l);
cout<<dl.getValue()<<endl;
Absolute<float> df(f);
cout<<df.getValue()<<endl;
Absolute<double> dd(d);
cout<<dd.getValue()<<endl;
return 0;
}