operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,

一、为什么使用操作符重载

简单的说我们基本数据比如int float 都可以比较大小 有>、<、=,但是对象需要比较大小怎么办,我们也可以用>、<、=,只不过我们需要一个通用的规范比较对象的属性,这个时候需要operator来实现。

二、实现重载的操作符

先看简单代码类成员函数实现重载和非类成员函数(全局函数)

1)、操作符重载实现为类成员函数

重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符。
可以用如下的方式来声明一个预定义的==操作符:
理解时应将operator==整体上视为一个函数名。
这里,因为operator ==是class person的一个成员函数,所以对象p1,p2都可以调用该函数,上面的if语句中,相当于p1调用函数==,把p2作为该函数的一个参数传递给该函数,从而实现了两个对象的比较。

C++之operator关键字(重载操作符) 使用总结相关推荐

  1. C++ 赋值重载运算符(overloaded operator)operator关键字

    重载运算符 重载运算符的本质是函数,其名字由operator关键字后接表示要定义的运算符的符号组成. 因此,赋值运算符就是一个名为operator=的函数. 类似于任何其他的函数,重载运算符函数也有一 ...

  2. 重载操作符与转换(上)

    重载操作符的作用: 通过操作符重载,程序员能够针对类类型的操作数定义不同的操作符版本.程序用移位操作符(>> 和 <<)进行输入输出,用加号操作符(+)将两个 Sales_it ...

  3. [c++primer][14]重载操作符与转换

    14.1 重载操作符的定义 不能重载的操作符:.  ?:  sizeof  ::  .* 不能为任何内置类型定义额外的新的操作符:优先级和结合性是固定的:不再具备短路求值特性(不建议重载&&a ...

  4. C++复习 14 重载操作符与转换

    声明,所有的朋友,如果要转我的帖子,务必注明"作者:黑啤来源:CSDN博客"和 具体的网络地址http://blog.csdn.net/nx500/archive/2007/10/ ...

  5. C++中operator关键字(重载操作符)

    operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...

  6. C++ operator关键字(重载操作符)

    C++ operator关键字(重载操作符) operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方 ...

  7. C++ operator关键字(重载操作符)(转)

    operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...

  8. C++的重载操作符(operator)介绍

    本文主要介绍C++中的重载操作符(operator)的相关知识. 1. 概述     1.1 what operator 是C++的一个关键字,它和运算符(如=)一起使用,表示一个运算符重载函数,在理 ...

  9. c++ operator百样操作符重载(详解)

    目录 一.operator== :等号判断重载 二.operator = : 等号赋值重载 三.operator != : 不等于重载 四.operator> : 大于号 或者 小于号 重载 五 ...

最新文章

  1. Java布尔类的compareTo()
  2. Google Map App 问题集锦
  3. 简单示例立马搞懂Java日期格式中yyyy-MM-dd HH:mm:ss和YYYY-MM-dd hh:mm:ss的区别
  4. 如何通过dblink truncate远程数据库上的表
  5. android studio设置Tab为四空格缩进
  6. 企业邮箱服务器删除邮件,企业邮箱Webmail对邮件进行删除或者清空邮件的方法...
  7. C4D立体素材|旅游度假主题海报,设计点睛之笔
  8. 吃鸡电脑配置清单_2020年5月份最佳组装电脑配置清单,吃鸡联盟总有满足你的...
  9. 云计算遇上区块链,会产生怎样的能量和火花?
  10. UML类图几种关系的总结,泛化 = 实现 组合 聚合 关联 依赖
  11. 基于DEAP库的python进化算法--遗传算法实践--最短路径问题
  12. tsinsen A1333
  13. Linux网络属性配置—修改配置文件
  14. python胶水语言融合其他语言_1. Python中如何使用其他语言?(python的胶水作用,python又叫胶水语言)...
  15. matlab 字符查找函数,matlab字符函数
  16. 一口气通过一系列阿里云证书ACA/ACP/ACE认证心得
  17. ddr4 dqs 频率_你好,请问你知道DDR3中是DQS是什么意思吗
  18. 何谓情比金坚——婚姻来源和相关说法
  19. 淘宝美工图片处理规范
  20. python实现在excel文件中写入和追加内容

热门文章

  1. 【需要重视的BUG】:偷权限的情况
  2. .NET Core 2.1 容器镜像将从 Docker Hub 中删除
  3. ML.NET Cookbook:(12)我想看看模型的系数
  4. .net5或.net6(Preview) 之 顶级语句
  5. 如何容器化你的 ASP.Net Core
  6. 怎样使用C# 获取WIFI的连接状态?
  7. 跟我一起学.NetCore之自定义配置源-热更新-对象绑定
  8. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(二)
  9. C#如何安全、高效地玩转任何种类的内存之Span的秉性特点(二)
  10. .net core 实现基于 JSON 的多语言