栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++运算符重载

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++运算符重载

加号运算符重载

#include
using namespace std;

class Person
{
public:
	//成员函数重载+号    Person p3 = p1.operator+(p2);
	


	int m_A;
	int m_B; 
};
//全局函数重载+号    Person p3 = operator+(p1, p2);
Person operator+(Person& p1, Person& p2)
{
	Person temp;
	temp.m_A = p1.m_A + p2.m_A;
	temp.m_B = p1.m_B + p2.m_B;
	return temp;
}

void text01()
{
	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 = operator+(p1, p2);

	Person p3 = p1 + p2;

	cout << "p3.m_A=" << p3.m_A <#include
using namespace std;

class Person
{
public:
	
	int m_A;
	int m_B; 
};
//全局函数实现左移重载
//ostream对象只能有一个
ostream& operator<<(ostream& cout, Person& p) //cout名称可以随意换 out
{
	cout << "a:" << p.m_A << " b:" << p.m_B;
	return cout;
}

void text01()
{
	Person p1;
	p1.m_A = 10;
	p1.m_B = 20;
	cout << p1 << endl;
}
int main() 
{
	text01();
	return 0;
}

输出结果为:

a:10 b:20

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854196.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号