C++ 类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算

要求定义类模板实现2个数的最大值、最小值、加、减、乘、除等算术运算,在main ()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,然后分别输出它们的最大值、最小值、加、减、乘、除的结果。
输入格式:


分别输入2组数字,第一行为2个整数,以空格分隔;第二行为2个浮点数,以空格分隔。输出格式:
分2行分别输出整数和浮点数的运算结果,每行依次输出2个数的最大值、最小值、加、减、乘、除等算术运算。
输出样例:

 

#include "iostream"
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>test(a,b);
	test.print();
	Test<float>test2(c, d);
	test2.print();
	return 0;
}

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实验报告:定义类模板实现2个数算术运算 实验目的 本实验旨在掌握C++类模板定义和使用方法,实现2个数最大值最小值、乘、除等算术运算,并在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,分别输出它们的最大值最小值、乘、除的结果。 实验原理 类模板 类模板是指一个通用的类描述,它可以定义一类类似的类,而不必为每一种类都单独定义一个类。类模板是用来产生类的蓝图,即类的模型。在定义类模板时,需要使用template关键字。类模板的参数可以是类型参数或非类型参数。 类模板的实例化 类模板的实例化是指将类模板产生的类具体化为某一特定类型的过程。当我们定义一个模板类对象时,需要指明所使用的类型。模板类对象的类型是通过模板参数来确定的。类模板实例化的方式有显示实例化和隐式实例化两种方式。 实验步骤 1.定义类模板Arithmetic 定义一个类模板Arithmetic,用于2个数算术运算。在类模板中,定义泛型类型T,用于表示数据类型。在类中定义成员函数,实现最大值最小值、乘、除等算术运算,代码如下: ```c++ template<typename T> class Arithmetic { public: T getMax(T a, T b) { return a > b ? a : b; } T getMin(T a, T b) { return a < b ? a : b; } T add(T a, T b) { return a + b; } T subtract(T a, T b) { return a - b; } T multiply(T a, T b) { return a * b; } T divide(T a, T b) { return a / b; } }; ``` 2.在main()函数中使用类模板main()函数中,使用类模板Arithmetic分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,分别输出它们的最大值最小值、乘、除的结果,代码如下: ```c++ int main() { Arithmetic<int> intArithmetic; Arithmetic<double> doubleArithmetic; int a, b; double c, d; cin >> a >> b >> c >> d; cout << "Max of " << a << " and " << b << " is " << intArithmetic.getMax(a, b) << endl; cout << "Min of " << a << " and " << b << " is " << intArithmetic.getMin(a, b) << endl; cout << "Sum of " << a << " and " << b << " is " << intArithmetic.add(a, b) << endl; cout << "Difference of " << a << " and " << b << " is " << intArithmetic.subtract(a, b) << endl; cout << "Product of " << a << " and " << b << " is " << intArithmetic.multiply(a, b) << endl; cout << "Quotient of " << a << " and " << b << " is " << intArithmetic.divide(a, b) << endl; cout << "Max of " << c << " and " << d << " is " << doubleArithmetic.getMax(c, d) << endl; cout << "Min of " << c << " and " << d << " is " << doubleArithmetic.getMin(c, d) << endl; cout << "Sum of " << c << " and " << d << " is " << doubleArithmetic.add(c, d) << endl; cout << "Difference of " << c << " and " << d << " is " << doubleArithmetic.subtract(c, d) << endl; cout << "Product of " << c << " and " << d << " is " << doubleArithmetic.multiply(c, d) << endl; cout << "Quotient of " << c << " and " << d << " is " << doubleArithmetic.divide(c, d) << endl; return 0; } ``` 3.测试 输入两个整数和两个浮点数,例如: ``` 2 3 1.5 2.5 ``` 程序运行结果如下: ``` Max of 2 and 3 is 3 Min of 2 and 3 is 2 Sum of 2 and 3 is 5 Difference of 2 and 3 is -1 Product of 2 and 3 is 6 Quotient of 2 and 3 is 0 Max of 1.5 and 2.5 is 2.5 Min of 1.5 and 2.5 is 1.5 Sum of 1.5 and 2.5 is 4 Difference of 1.5 and 2.5 is -1 Product of 1.5 and 2.5 is 3.75 Quotient of 1.5 and 2.5 is 0.6 ``` 实验结论 本实验通过定义类模板Arithmetic,实现2个数最大值最小值、乘、除等算术运算,并在main()函数中使用该类模板分别实例化为int型和double型的类,定义相关的对象,读入2个整数和2个浮点数,分别输出它们的最大值最小值、乘、除的结果。实验结果表明,类模板可以实现不同数据类型的通用算术运算,提高了代码的复用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值