博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 操作符重载
阅读量:5903 次
发布时间:2019-06-19

本文共 1159 字,大约阅读时间需要 3 分钟。

1、为什么要使用操作符重载?

操作符和方法在本质上一样,使用操作符更符合人性化的描述。

2、操作符重载分为 普通操作符重载和成员操作符重载,区别在于:

  a、普通操作符重载要访问对象的私有成员,因此要设计为friend,而成员操作符重载不需要;

  b、相比于普通操作符重载,成员操作符重载,少了一个形参,因为成员方法总是与对象绑定使用的,被绑定的对象就是操作符的第一个参数;


 示例代码:

1 #include "StdAfx.h" 2  3 class Point 4 { 5 private : 6     int x; 7     int y; 8  9 public :10     Point ();11 12     Point(int x,int y);13 14     void Print()const;15 16     void Set(int x,int y);17 18     friend Point operator+(const Point& a, const Point& b);19 20     friend Point operator+(const Point& a, int b);21 22     Point operator-(const Point& b)23     {24         Point s;25         s.Set(this->x-b.x, this->y-b.y);26         return s;27     }28 29     Point operator-(int b)30     {31         Point s;32         s.Set(this->x-b, this->y-b);33         return s;34     }35 };
View Code
1 #include "StdAfx.h" 2 #include 
3 #include "Point.h" 4 5 Point ::Point() 6 { 7 } 8 9 Point::Point(int x,int y)10 {11 this->x = x;12 this->y = y;13 }14 15 void Point::Print()const16 {17 std::cout<<"X:"<
<<" Y:"<
<
x = x;38 this->y = y;39 }
View Code

 

转载地址:http://hlkpx.baihongyu.com/

你可能感兴趣的文章
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
Apple Developer Registration and DUNS Number Not Accepted
查看>>
Hadoop学习笔记系列文章导航
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
Centos7安装Gitlab10.0
查看>>
上传图片预览
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
Docker的系统资源限制及验证
查看>>
c++ ios_base register_callback方法使用
查看>>
Java中为什么需要Object类,Object类为什么是所有类的父类
查看>>
angularjs-paste-upload
查看>>