operator  是什么

operator 是C++的一个关键字,它和运算符(+,-,*,/,=,等等)一起使用,表示一个运算符重载函数

operator 没有返回语句

operator 的作用 :

1 把对象当函数使用

具体的如下:

#include <iostream>
#include <string>
using namespace std;
class People
{
public:// 把对象当函数使用int operator()(int a, int b) const{return a + b;}
};int main()
{People p;cout << p(13, 15) << endl;return 0;
}

2 对象进行计算

operator的操作符有很多,如下

具体代码如下:

#include <iostream>
#include <string>
using namespace std;class People
{public:int mage;public:People(int age){mage = age;}People operator+(People p){return People(mage + p.mage);}void showMessage(){cout << mage << endl;}
};int main()
{People people1(18);People people2(20);People people3(0);people3 = people1 + people2;people3.showMessage();return 0;
}

3 类型转换

#include <iostream>
#include <string>
using namespace std;class People
{public:int height;public:People(double mheight =0){height  = mheight;};operator double(){return height;}};int main()
{People people1(175.5);People people2(180.3);People people3(0);people3 = people1 + people2;cout<<people3<<endl;return 0;
}

C++ 重载运算符 operator相关推荐

  1. 重载运算符operator

    运算符重载注意点: 1.算术和关系操作符返回的是一个左值或右值,而不是一个引用 2.赋值操作符一定要定义为成员函数如"=" 3.一般而言,赋值操作符和复合赋值操作符应返回左操作数的 ...

  2. OpenCV中Mat类的重载运算符operator()的用法

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 定义如下: inline Mat Mat::op ...

  3. C++ operator重载运算符详解

    [toc] Chapter XIV C++ operator 重载运算符的作用: 主要是代替成员函数的方式为自建类型完成基本任务 当然, 用成员函数完全可以代替operator的功能, 但是使用起来绝 ...

  4. C++重载相等运算符operator==的两种方式

    最近复习了一下C++的一些基础知识,发现之前理解得不够深刻,或者当时只是简单过了一遍,复习的时候,有了一些新的收获.闲言少叙,书归正文: 问题: C++的重载相等运算符operator==可以写成类成 ...

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

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

  6. 关于运算符operator重载出错解决方法

    问题描述: 在类定义的公有函数中,定义友元函数"operator<<",在编译的时候提示"类成员是私有的,无法访问". 编译器:G++ 解决方法: ...

  7. C++ 重载运算符简单举例

    我们可以重定义或重载大部分 C++ 内置的运算符.这样,就能使用自定义类型的运算符. 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的.与其他函数一 ...

  8. 【C++】重载运算符(二)

    1.4 下标运算符p501 下标运算符必须是成员函数,表示容器的类通常可以通过容器中的位置访问元素,定义下标运算符operator[] 一个包含下标运算符的类,通常,定义2个版本:一个返回普通引用,另 ...

  9. 【C++】重载运算符(一)

    1.1 重载运算符特点 重载运算符本质上是一次函数调用 除了operator() 运算符调用外,其他重载运算符不能含有默认参数. 当重载的运算符是成员函数时,this绑定到左侧运算对象.成员运算符函数 ...

最新文章

  1. 忘记mysql 密码的取回方法
  2. UVA11078开放式学分制(前面-后面的最大值)
  3. fio 是测试磁盘性能的最佳工具
  4. SAP UI5 应用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及绝对绑定和相对绑定概念详解
  5. 物联网在改造海上钻井平台监测方面发挥着关键作用
  6. 计算机模拟技术在教学上的应用,计算机模拟技术在水利工程学科试验教学中的应用...
  7. npy一维数组如何对给出的索引进行反选
  8. 【CodeForces - 27E】Number With The Given Amount Of Divisors (数论,数学,反素数)
  9. SpringBoot2 | Spring IOC 流程中核心扩展接口的12个扩展点源码分析(十一)
  10. 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形
  11. Lora模块一对一和一对多
  12. c语言国家二级培训机构,国家计算机二级C语言培训教案.doc
  13. php mysql完全学习手册 下载_PHP+MySQL完全学习手册
  14. jmx.JmxAdminException
  15. 阿里、百度、腾讯招聘 Java 程序员的技术标准,你达到要求了吗?
  16. 【数据库系统原理】第四章 高级数据库模型:统一建模语言UML、对象定义语言ODL
  17. JVM实战(二一): -Xss -Xms -Xmx -Xmn 参数设置
  18. UML时序图(Sequence Diagram)学习笔记
  19. 基于MATLAB实现ECG心电信号处理
  20. Pytorch 梯度计算,叶子节点,requires_grad,detach

热门文章

  1. 伍六七带你学算法 入门篇-最小的k个数
  2. Nginx搭建负载均衡集群
  3. 2022-2028年中国光掩膜行业市场行情监测及未来前景规划报告
  4. Go 知识点(15)— 切片长度和容量
  5. Python 多线程总结(2)— 线程锁、线程池、线程数量、互斥锁、死锁、线程同步
  6. mybatis使用注解开发
  7. Lampiao靶机渗透测试
  8. Apriori算法通俗详解_fpgrowth2_关联分析评估
  9. PyTorch 学习笔记(四):权值初始化的十种方法
  10. 如何使用TVM Pass Relay