您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页【C++】类和对象,加号运算符重载

【C++】类和对象,加号运算符重载

来源:榕意旅游网
#include<iostream>
using namespace std;
#include <string.h>
class Person {
public:
	//Person operator+(Person& p) {//通过成员函数实现 + 号运算符重载
	//	Person temp;
	//	temp.m_A = this->m_A + p.m_A;
	//	temp.m_B = this->m_B + p.m_B;
	//	return temp;
	//}
public:
	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 = p2.m_B + p2.m_B;
	return temp;
}
void test() {
	Person p1;
	p1.m_A = 10;
	p1.m_B = 10;
	Person p2;
	p2.m_A = 10;
	p2.m_B = 10;
	/*Person p3 = p1.operator+(p2)*/;//成员函数调用本质
	/*Person p3 = p1 + p2;*/
	Person p3 = operator+(p1, p2);//全局函数调用本质

	cout <<"p3.m_A="<< p3.m_A << endl;
	cout << "p3.m_B="<<p3.m_B << endl;
}

int main() {
	test();
	system("pause");
	return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务