#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Person
{
public:
//成员函数重载运算符
//Person operator+(Person &p)
//{
// Person temp;
// temp.m_A = this->m_A + p.m_A;
// temp.m_B = this->m_A + p.m_B;
// return temp;
//}
int m_A;
int m_B;
};
//全员函数重载运算符
Person operator+(Person &p1,Person &p2)
{
Person temp;
temp.m_A = p1.m_A + p2.m_A;
temp.m_B = p1.m_A + p2.m_B;
return temp;
}
int main(char* argv[], int argc)
{
Person p1;
p1.m_A = 5;
p1.m_B = 10;
Person p2;
p2.m_A = 15;
p2.m_B = 20;
Person p3 = p1 + p2;
//成员函数重载运算符
//Person p3 = p1 + p2;等于Person p3 = p1.operator + (p2);
//全员函数重载运算符
//Person p3 = p1 + p2;等于Person p3 = operator + ( p1 , p2 );
//运算符重载也可能发生函数重载
cout << p3.m_A << "和" << p3.m_B << endl;
cin.get();
return 0;
}
C++运算符重载
最新推荐文章于 2023-04-03 21:36:28 发布