第十九天第二个问题

问题描述:

请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。

裁判测试程序样例:

 
#include <iostream>
using namespace std;

/*请在这里填写答案*/

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

输入样例:

a
-2
300000
-4.56
7.89
 

输出样例:

a
2
300000
4.56
7.89
代码:

template<class t>
class Absolute
{
public:
t data;
Absolute(t a)
{
data=a;
}
t getValue(void)
{
if(data<0)
{
data=-data;
}
return data;
}
};

 
posted @ 2023-05-11 20:25  序章0  阅读(26)  评论(0)    收藏  举报