每日打卡一小时(第二十六天)
一.问题描述
请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。
二.设计思路
注意类模板参数的设计格式,注意编写构造函数和成员函数的返回值类型,按要求完成即可
三.代码实现
#include <iostream> using namespace std; template<class T> class Absolute { private: T num; public: Absolute(T x):num(x){}; T getValue(void)const; }; template<class T> T Absolute<T>::getValue(void)const { return num<0? -num:num; } 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; }