C++运算符重载简单举例

本文介绍了C++中如何通过运算符重载实现对象数据成员的相加。示例中创建了一个名为test的类,包含字符串、整型和浮点型数据成员。通过重载'+'运算符,实现了对象间的字符串连接、整型数字求和及浮点型数字取平均值的功能。代码展示了如何定义和使用这个重载操作,并给出了运行结果。
摘要由CSDN通过智能技术生成

C++运算符重载,有比较多的妙用,例如,默认的“+”号,承担着整型数字的相加、浮点型数字的相加、字符串的连接,等等,但不能实现对象中的数据成员的相加。因此我们通过重载,可以实现一些特殊的效果。

我们定义一个类,类里有3个数据成员,分别为一个字符型、一个整型、一个浮点型,我们重载运算符+号,使得两个对象可以相加,具体效果为字符串连接、整型数字取和、浮点型数字取平均值,具体代码如下:

#include<iostream>
using namespace std;

class test {
	public:
		string name;
		int age;
		double score;
		test (string name, int age, double score): name(name), age(age), score(score) {}
		test operator + (test &A) {
			return test(name + A.name, age + A.age, (score + A.score) / 2);
		}
		void display() {
			cout << "姓名:" << name << "\t年龄:" << age << "\t成绩:" << score << endl;
		}
};
int main() {
	test a("小明", 16, 85);
	a.display();
	test b("张三", 20, 60);
	b.display();
	test c = a + b;
	c.display();
	test d = c.operator + (a);
	d.display();
}

运行结果如下图所示。 

 需要注意的是a.operator + (b)与a+b效果是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值