运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型
1.加号运算符重载
作用:实现两个自定义数据类型相加的运算
#include<iostream>
using namespace std;
//加号运算符重载
class Person
{
public:
//1.成员函数重载
/*Person operator+(Person& p) {
Person temp;
temp.A = this->A + p.A;
temp.B = this->B + p.B;
return temp;
}*/
int A;
int B;
};
//void test1() {
// Person p1;
// p1.A = 10;
// p1.B = 10;
// Person p2;
// p2.A = 20;
// p2.B = 20;
//
// Person p3 = p1 + p2;
//
// cout << "p3的A:" << p3.A << endl;
// cout << "p3的B:" << p3.B << endl;
//}
//2.全局函数重载
Person operator+(Person& p1, Person& p2)
{
Person temp;
temp.A = p1.A + p2.A;
temp.B = p2.B + p1.B;
return temp;
}
void test2() {
Person p1;
p1.A = 10;
p1.B = 10;
Person p2;
p2.A = 20;
p2.B = 20;
Person p3 = p1 + p2;
cout << "p3的A:" << p3.A << endl;
cout << "p3的B:" << p3.B << endl;
}
int main()
{
//test1();
test2();
return 0;
}