前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++运算重载符基础语法1

C++运算重载符基础语法1

作者头像
BrianLee
修改2023-04-04 09:30:51
2120
修改2023-04-04 09:30:51
举报

一、在C++中,使用operator关键字定义运算符重载。运算符重载语法格式如下:

代码语言:c++
复制
返回值类型 operator 运算符名称 (参数列表) 
{ 
 ...//函数体 
} 

二、下面通过案例演示“+”“?”运算符的重载,如例所示。

代码语言:javascript
复制
 1  #include<iostream> 
 2  using namespace std; 
 3  class A 
 4  { 
 5  private: 
 6       int _x; 
 7       int _y; 
 8  public: 
 9       A(int x=0,int y=0):_x(x),_y(y){} 
 10           void show() const;      //输出数据 
 11           A operator+(const A& a) const;   //重载"+"运算符 
 12           A operator-(const A& a) const;   //重载"-"运算符 
 13      }; 
 14      void A::show() const      //show()函数的实现 
 15      { 
 16           cout<<"(_x,_y)="<<"("<<_x<<","<<_y<<")"<<endl; 
 17      } 
 18      A A::operator+(const A& a) const    //重载"+"运算符的实现 
 19      { 
 20           return A(_x+a._x,_y+a._y); 
 21      } 
 22      A A::operator-(const A& a) const    //重载"-"运算符的实现 
 23      { 
 24           return A(_x-a._x,_y-a._y); 
 25      } 
 26      int main() 
 27      { 
 28           A a1(1,2); 
 29           A a2(4,5); 
 30           A a; 
 31           cout<<"a1: ";  
 32          a1.show(); 
 33           cout<<"a2: ";  
 34          a2.show(); 
 35           a=a1+a2;        //实现两个对象相加 
 36           cout<<"a: ";  
 37          a.show(); 
 38           a=a1-a2;        //实现两个对象相减 
 39           cout<<"a: ";  
 40          a.show(); 
 41           return 0; 
 42      } 

三、执行结果

通过上面讲解可以知道,重载运算符并没有改变其原来的功能,只是增加了针对自定义数据类型的运算功能,具有了更广泛的多态特征。
通过上面讲解可以知道,重载运算符并没有改变其原来的功能,只是增加了针对自定义数据类型的运算功能,具有了更广泛的多态特征。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、在C++中,使用operator关键字定义运算符重载。运算符重载语法格式如下:
  • 二、下面通过案例演示“+”“?”运算符的重载,如例所示。
  • 三、执行结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档