9-加号运算符重载

简介: 9-加号运算符重载
#include<bits/stdc++.h>
using namespace std;
//加号运算符重载
//1、通过成员函数重载 
//2、通过全局函数重载
class Person{
  public:
    //1、通过成员函数重载 
//    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;
//    }
    int m_A;
    int m_B;
}; 
//2、通过全局函数重载
  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;
  } 
//运算符重载
Person operator+(Person p,int num){
  Person temp;
  temp.m_A=p.m_A+num;
  temp.m_B=p.m_B+num;
  return temp;
} 
void test01(){
  Person p1;
  p1.m_A=10;
  p1.m_B=10;
  Person p2;
  p2.m_A=10;
  p2.m_B=10;
  //Person p3=p1+p2;
  //成员函数的本质调用
  //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;
  //运算符重载 也可以发生函数重载
  Person p4=p1+100;
  cout<<"p4.m_A= "<<p4.m_A<<endl;
  cout<<"p4.m_B= "<<p4.m_B<<endl;
}
int main()
{
//运算符重载
//运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 
  test01();
  return 0;
 } 


相关文章
|
7月前
字符串括号匹配
字符串括号匹配
|
C++
40 C++ - 符号重载总结
40 C++ - 符号重载总结
47 0
|
26天前
|
Java
有效的括号
本题要求判断一个仅包含 &#39;(&#39;, &#39;)&#39;, &#39;{&#39;, &#39;}&#39;, &#39;[&#39;, &#39;]&#39; 的字符串是否为有效字符串。有效条件是:每个左括号必须被相同类型的右括号正确闭合。空字符串视为有效。示例代码通过栈结构实现,遍历字符串中的每个字符,遇到左括号则将对应的右括号压入栈中,遇到右括号时检查栈顶元素是否匹配,最终栈为空则字符串有效。
7 0
|
6月前
20. 有效的括号
20. 有效的括号
|
7月前
22. 括号生成
22. 括号生成
51 4
|
7月前
|
编译器 C++
C++|运算符重载(1)|为什么要进行运算符重载
C++|运算符重载(1)|为什么要进行运算符重载
|
6月前
22.括号生成
22.括号生成
|
7月前
|
C++
去括号问题(C++处理)
去括号问题(C++处理)
89 0
|
数据安全/隐私保护 Python
一日一技:一个括号两种意思,正则表达式奇怪的小括号
一日一技:一个括号两种意思,正则表达式奇怪的小括号
88 0