一、操作运算符

  操作运算符:在C++中,编译器有能力将数据、对象和操作符共同组成表达式,解释为对全局或成员函数的调用

  该全局或成员函数被称为操作符函数,程序员可以通过重定义函数操作符函数,来达到自己想要的效果

二、友元函数

  友元函数就是使函数在全局变量定义,在类中需要调用,因此此函数在类中声明时需要在函数的头部添加friend属性

    1、如果在类中声明友元函数,那么友元函数可以查看类中的所有成员

    2、友元函数不是成员,因此不能直接访问成员变量

三、单目运算符   ++/--

    全局函数:如果运算为:a++,那么在全局函数中定义为:类型    operater  ++   (类名)  

    成员函数:如果运算为:a++,那么在成员函数中定义为:类型    operater  ++   (void)

      注意:在全局函数中定义,一定要在类中写入友元函数的声明,如果是要定义成员函数++a的话,需要将参数列表的 void 改为 int 即可,全局函数也是如此

  

四、双目运算符  / + - * % | ^ & +=  -=   *=  /=   ...

    全局函数:如果运算为:a-b,那么在全局函数中定义为:类型    operater  -   (类名  名字,类名   名字)  

    成员函数:如果运算为:a-b,那么在成员函数中定义为:类型    operater  -   (类名  名字)

       注:具体返回类型为指针要是引用根据情况而论

     下图的例子就是在全局定义,在类中声明的友元函数

五、输入输出运算符

  注意:输入、输出运算符不能重载为成员函数,只能是友元。因此只能全局定义

   全局函数输出流运算符定义   ostream& operator << (ostream& os,Point& p)

                    {       }

   全局函数输入流运算符定义   istream& operator >> (istream& is,Point& p)

                    {       }

  

六、运算符的总结

  只能当做成员函数的操作符函数

    1、[] 下标运算符,可以把对象当作数组来使用。  

    2、() 函数运算符,可以把对象当作函数来使用。

    3、-> 成员访问运算符,可以把对象当作指针来使用。

    4、* 解引用运算符,可以把对象当作指针来使用。

  只能当做全局函数的操作符函数

    1、输入流运算符函数

    2、输出流运算符函数

C++ - 操作运算符的更多相关文章

  1. Swift开发第六篇——操作运算符也可以重载& func 的参数修饰

    本篇分为两部分: 1.Swift 中重载操作运算符的使用 2.Swfit 中 func 的参数修饰 1.Swift 中重载操作运算符的使用 与别的语言不同,Swift 支持运算符的重载,运算符指的是“ ...

  2. c++类流操作运算符的重定义

    对于流操作运算符我们需要注意的是函数的返回类型应该是流输入类型的引用或者流输出类型的引用,因为如果代码是 cout<<a<<b; 我们对a执行完cout函数之后,我们应该再次将 ...

  3. VHDL操作运算符的优先级顺序

           

  4. c 语言的位运算符复习

    转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...

  5. iOS阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  6. SQL Server调优系列基础篇(常用运算符总结——三种物理连接方式剖析)

    前言 上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握. 通过本篇可以了解我们平常所写的T-SQL语句,在SQL ...

  7. SQL Server调优系列基础篇(联合运算符总结)

    前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧. 废话少说,直接进入本篇的主题. 技术准备 基于SQL Server200 ...

  8. c/c++面试题(6)运算符重载详解

    1.操作符函数: 在特定条件下,编译器有能力把一个由操作数和操作符共同组成的表达式,解释为对 一个全局或成员函数的调用,该全局或成员函数被称为操作符函数.该全局或成员函数 被称为操作符函数.通过定义操 ...

  9. mysql常见的运算符及使用

    mysql中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 算术操作符 算术操作符是SQL中最基本的操作运算符,主要有一下几种运算符: +(加). -(减). *(乘). / ...

随机推荐

  1. 字符串转Interger

    public static void main(String[] args) { String t = "5"; Integer integer = Integer.valueOf ...

  2. java 依据文件名判断mime类型

    依据文件名称判断mime类型 import java.util.HashMap; import java.util.Map; /** * 依据文件名获取MimeType */ public class ...

  3. 快速安装create-react-app脚手架

    create-react-app搭建react项目:https://blog.csdn.net/weixin_41077029/article/details/82622106 快速安装create- ...

  4. 洛谷 P2398 GCD SUM 题解

    题面 挺有意思的. 设f[i]表示gcd(i,j)=i的个数,g[i]表示k|gcd(i,j)的个数; g[i]=(n/i)*(n/i); g[i]=f[i]+f[2i]+f[3i]+...; 所以f ...

  5. Linux普通用户无法使用sudo

    问题描述: jenkins执行发布脚本,因为使用的是jenkins用户,所以有些shell命令需要 sudo 来执行,导致报错. + sudo rm -rf /usr/share/nginx/html ...

  6. p标签在div中水平垂直居中且文本左对齐

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. sql server 函数详解(2)数学函数

    绝对值函数ABS(x)和返回圆周率的函数PI() 平方根函数SQRT(x) 获取随机函数的函数RAND()和RAND(x) 四舍五入函数ROUND(x,y) 符号函数SIGN(x) 获取整数的函数CE ...

  8. 字符串连连看 (和hihocoder 字符消除类似)

    题目描述 对于输入的字符串,从左到右扫描字符串,如果存在由三个以上(包括三个)连续相同字符组成的子串,就将这个子串从原串中去掉,并将原有字符串剩下的部分拼接到一起.重复上述过程,直到无法去掉任何子串 ...

  9. BZOJ 3118 Orz the MST

    权限题qwq 如果我们要使得某棵生成树为最小生成树,那么上面的边都不能被替代,具体的,对于一个非树边,它的权值要\(\ge\)它两端点在树上的路径上的所以边的权值,所以对于每个非树边就可以对一些树边列 ...

  10. java 导出自定义样式excel

    由于项目需要 要求导出一个这样的表格 然而 正常导出的表格都是这样婶儿地 这种格式网上demo有很多就不详细说了 ,主要说说上面三行是怎么画的. 第一行大标题,是9行合并成的一行,而且字体大小需要单独 ...