7-1 定义类模板实现2个数的算术运算
分数 100
作者 孙杰
单位 青岛大学
本题目要求定义类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算,在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,然后分别输出它们的最大值、最小值、加、减、乘、除的结果。
输入格式:
分别输入2组数字,第一行为2个整数,以空格分隔;第二行为2个浮点数,以空格分隔。
输出格式:
分2行分别输出整数和浮点数的运算结果,每行依次输出2个数的最大值、最小值、加、减、乘、除等算术运算。
输入样例:
30 2
2.1 3.2
输出样例:
30 2 32 28 60 15
3.2 2.1 5.3 -1.1 6.72 0.65625
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <iostream>
#include <algorithm>
using namespace std;
template <class T>
class Test
{
public:
Test(T a,T b){
this->a=a;
this->b=b;
}
T m(){
return max(a,b);
}
T x(){
return min(a,b);
}
T jia(){
return a+b;
}
T jian(){
return a - b;
}
T cheng(){
return a *b;
}
T chu(){
return a/b;
}
void print(){
cout << m() << " " << x() << " " << jia() << " " << jian() << " " << cheng() << " " << chu() << endl;
}
private:
T a;
T b;
};
int main(){
int a,b;
float c,d;
cin >> a >> b;
cin >> c >> d;
Test<int> test1(a,b);
test1.print();
Test<float> test2(c,d);
test2.print();
return 0;
}