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

C++运算符重载简单举例,第1张

C++运算符重载,有比较多的妙用,例如,默认的“+”号,承担着整型数字的相加、浮点型数字的相加、字符串的连接,等等,但不能实现对象中的数据成员的相加。


因此我们通过重载,可以实现一些特殊的效果。


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

#include
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效果是一样的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/621773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-15
下一篇 2022-04-15

发表评论

登录后才能评论

评论列表(0条)

保存