“+” 运算符重载的应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、运算符重载的意义
C++中通过重载内置运算符,使一些内置具有操作自定义数据类型的功能。
二、生活案例
1.案例文字表述
举例: 一个饭馆来了一对好基友,张三和李四。张三点了两碗面,三瓶啤酒;李四点了三碗面,两瓶啤酒。结账时,店长需要统计他们一共点了多少面和酒。如果分别对他们点的面和酒进行相加,操作比较繁琐,如果直接把两个人进行相加,并返回总共点的食品数量,那么,店员一定喜闻乐见。
2.利用成员函数重载运算符
代码如下(示例):
class Person
{
public:
Person operator+(Person& p)
{
Person temp;
temp.noodles_bowl = this->noodles_bowl + p.noodles_bowl;
temp.beer_bottle = this->beer_bottle + p.beer_bottle;
return temp;
}
string m_Name;
int noodles_bowl;
int beer_bottle;
};
该处使用的url网络请求的数据。
总结
以上是“+”运算符的重载的应用,下篇作者会带来"<<"运算符重载的应用,用于加深C++运算符重载的理解。
代码演示
class Person { public: //通过成员函数进行重载 Person operator+(Person& p) { Person temp; temp.noodles_bowl = this->noodles_bowl + p.noodles_bowl; temp.beer_bottle = this->beer_bottle + p.beer_bottle; return temp; } string m_Name; int noodles_bowl; int beer_bottle; }; void test01() { Person p1; p1.m_Name = “张三”; p1.noodles_bowl = 3; p1.beer_bottle = 2; Person p2; p2.m_Name = “李四”; p2.noodles_bowl = 2; p2.beer_bottle = 3; Person p3; //需要对+运算符进行重载 //当下行运用成员函数进行运算符重载时,其本质是p3=p1.operator(p2) //而当程序执行到下行代码时,会自动转化为p3=p1.operator(p2),并调用类中函数 p3 = p1 + p2;
cout << p1.m_Name << "和" << p2.m_Name << "一共消费"
<< p3.noodles_bowl << "碗面和" << p3.beer_bottle
<< "瓶啤酒" << endl;
} int main() { test01(); system(“pause”); return 0; }
|