当前位置: 首页 > ops >正文

C++:运算符重载

运算符重载是类的六个默认成员函数之一,这里的默认是指我们不写,编译器会自己生成的。

运算符重载的目的是增强代码的可读性,运算符重载是具有特殊函数名的函数

//operator是运算符重载的关键字
class date
{
public:date operator+(...){...}
}; 

特征:

1.不能通过连接其他符号创建新的操作符,即原来没有的操作符不能通过这个来创建

2.重载操作符必须有一个类类型参数

3.用于内置类型的运算符,其含义不能改变

4.作为类的成员函数重载时,其操作数要比不作为成员函数要少,这是因为,成员函数的第一个操作数默认是隐藏的this指针。

5.不能改变操作符中操作数的个数。

6.*是可以重载的(解引用操作符),@不可以。

1.赋值重载(重载=号):

在我该专栏的另一篇文章里有详细介绍

2.前置++和后置++:

由于前置++和后置++其函数名是相同的,参数也同样只有一个,所以为了进行区分,把普通版本作为前置++,增加一个形参的版本作为后置++。

//前置++
date operator++()
{}
//后置++
date operator++(int)
{}

后置的++在使用的时候形参穿不穿参都可以,加参数是为了构成函数重载。有些语言为了避免这个麻烦,就去除了加加,比如python。

3.[]

这个运算符重载很重要

4.取地址运算符重载(&)

在我专栏的另一篇文章有更详细的讲解

http://www.xdnf.cn/news/6410.html

相关文章:

  • 2025年5月通信科技领域周报(5.5-5.11):6G终端生态加速构建 量子通信迈入城际商用新阶段
  • GRE作文总结和归纳
  • next.js实现项目搭建
  • 院校机试刷题第三天:1393矩阵转置、1703最大字串和、1700判断回文数
  • 使用Python开发经典俄罗斯方块游戏
  • 蓝桥杯 2024 C++国 B最小字符串
  • 【算法】前缀和
  • [项目深挖]仿muduo库的并发服务器的解析与优化方案
  • Flink 1.13.2 日志配置优化:保留最近 7 天日志文件
  • 【工具】metaTP:一种集成了自动化工作流程的元转录组数据分析工具包
  • python开发api平台雏形
  • 【Java Web】速通JSON
  • How to initialize Linux Mint 22.1 Desktop Operating System
  • 七彩喜数字康养平台:技术驱动下的银发经济范式革命
  • 腾讯开源实时语音大模型VITA-audio,92mstoken极速响应,支持多语言~
  • 模仿学习笔记
  • Xinference 命令大全:从模型部署到管理
  • 《从零开始入门递归算法:搜索与回溯的核心思想 + 剑指Offer+leetcode高频面试题实战(含可视化图解)》​
  • 拷贝构造函数如果不加引用会怎样?
  • 【搭建Node-RED + MQTT Broker实现AI大模型交互】
  • 乐观锁、悲观锁、分布式锁
  • 金仓数据库使用sys_walfile_name函数时的时间线问题排查指南
  • [MySQL数据库] SQL优化
  • C++ asio网络编程(6)利用C11模拟伪闭包实现连接的安全回收
  • 牛客网NC22012:判断闰年问题详解
  • 串口共用错误排查指南(2025年5月15日 09:25)
  • 实战分析Cpython逆向
  • 树节点数据处理:属性拼接
  • scratch课后一练--运动模块
  • C++从入门到实战(十五)String(上)介绍STL与String的关系,为什么有string类,String有什么用