博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重载运算符作为成员函数还是非成员函数
阅读量:6970 次
发布时间:2019-06-27

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

一、定义为成员函数的运算符

1. 赋值、调用、下标、成员访问箭头运算符(=、()、[]、->)

2. 改变对象状态的运算符或者与给定类型密切相关的运算符(递增++、递减--、解引用*)

3. 复合赋值运算符(注:它也可以定义为非成员函数)

 

二、定义为非成员函数的运算符

1. 具有对称性的,即能转换任意一端的运算对象的运算符(算术、相等性、关系、位运算符) 

2. 输入输出运算符

 

三、为什么一定要定义为成员函数

把运算符定义为成员函数时,该运算符的左侧运算对象必须是运算符所属类的一个对象。

如:

string s; // 赋值运算符=是string的成员函数s = "world";	// 正确 "world" = s;	// 错误

  

转载于:https://www.cnblogs.com/xzxl/p/8976672.html

你可能感兴趣的文章
C# 指针之美
查看>>
Oracle 10 参数配置说明
查看>>
解决'System.OutOfMemoryException' 的问题
查看>>
消息队列RabbitMQ和ActiveMQ的生产者流量控制
查看>>
再论 重载、覆盖、多态与函数隐藏
查看>>
Android 用户界面---菜单
查看>>
【学术报告】云山物罩 大话‘大数据’
查看>>
用Setup系列函数完成驱动卸载安装[驱动安装卸载程序]
查看>>
巧妙利用JQuery和Servlet来实现跨域请求
查看>>
JS中生成与解析JSON
查看>>
[开发记录]事件驱动中一种优雅的退出方法
查看>>
java对象转JSON JS取JSON数据
查看>>
Spring MVC 学习 之 - 拦截器
查看>>
Leetcode: Minimum Window Substring
查看>>
jQuery 时间控件推荐
查看>>
27 GroupSock概述(一)——live555源码阅读(四)网络
查看>>
获取select的 text
查看>>
MongoDB学习笔记~官方驱动的原生Curd操作
查看>>
常用数据库语句
查看>>
jQuery Easy UI 开发笔记
查看>>