类模板2 坐标相加减

标准类:

#include <iostream>
using namespace std;
//创建类
class mix {
public:
	mix(int a, int  b) {
		this->a = a;
		this->b = b;
	}
	void printmix() {
		cout << "-------" << '(' << a << ',' << b << ')' << "-------" << endl;
	}
	mix operator+(mix &other) {
		int tempa = this->a + other.a;
		int tempb = this->b + other.b;
		mix temp(tempa, tempb);
		return temp;
	}
private:
	int a;
	int b;
};
int main() {
	mix a1(10, 10);
	a1.printmix();
	mix a2(10, 10);
	a2.printmix();
	mix a3 = a1 + a2;
	a3.printmix();
	return 0;
}

-------(10,10)-------
-------(10,10)-------
-------(20,20)-------

类模板:

#include <iostream>
using namespace std;
//创建类
template <typename T>
class mix {
public:
	mix(T a, T  b) {
		this->a = a;
		this->b = b;
	}
	void printmix() {
		cout << "-------" << '(' << a << ',' << b << ')' << "-------" << endl;
	}
	mix operator+(mix& other);
	mix operator-(mix& other);
private:
	T a;
	T b;
};
template<typename T>
mix<T> mix<T>::operator+(mix<T>& other)
{
	T tempa = this->a + other.a;
	T tempb = this->b + other.b;
	mix temp(tempa, tempb);
	return temp;
}
template<typename T>
mix<T> mix<T>::operator-(mix<T>& other)
{
	T tempa = this->a - other.a;
	T tempb = this->b - other.b;
	mix temp(tempa, tempb);
	return temp;
}


int main() {
	mix<float> a1(9.9, 8.8);
	a1.printmix();
	mix<float> a2(7.7, 6.6);
	a2.printmix();
	mix<float> a3 = a1 + a2;
	a3.printmix();
	mix<float> a4 = a1 - a2;
	a4.printmix();
	return 0;
}

运行结果:
-------(9.9,8.8)-------
-------(7.7,6.6)-------
-------(17.6,15.4)-------
-------(2.2,2.2)-------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值