c++ 运算符重载:

您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
    //重载 + 运算符 , 把两个 Box 相加Box operator+(const Box b) 

demo:

#include <iostream>
class Box {public://求面积double getVolume() {return length * width * height;}void setLength(double len) {this->length = len;}void setWidth(double width) {this->width = width;}void setHeight(double height) {this->height = height;}//重载 + 运算符 , 把两个 Box 相加Box operator+(const Box b) {Box box_;box_.length = this->length + b.length;box_.height = this->height + b.height;box_.width = this->width + b.width;return box_;}//重载 - 运算符 , 把两个 Box 相减 Box operator-(const Box b) {Box box_;box_.length = this->length - b.length;box_.width = this->width - b.width;box_.height = this->height - b.height;return box_;}private:double length;double width;double height;};int main()
{Box a;a.setHeight(5);a.setWidth(5);a.setLength(2);std::cout << "a. volume:" << a.getVolume() << std::endl;Box b;b.setHeight(5);b.setWidth(5);b.setLength(5);std::cout << "b. volume:" << b.getVolume() << std::endl;Box c;c = a + b;std::cout << "c. volume:" << c.getVolume() << std::endl;Box d;d =  b  - a;std::cout << "d. volume:" << d.getVolume() << std::endl;system("pause");return 0;
}

c++ 支持重载的运算符:

不支持重载的运算符:

    98年菜鸡一枚,请大佬们多多照顾!

c++ 运算符重载(简单易懂)相关推荐

  1. c++复习(2)拷贝构造函数与运算符重载

    目录 前言 拷贝构造函数 函数定义 调用 缺省(默认)的拷贝构造函数 -- 浅拷贝 涉及指针或者内存操作 用char * 用char[] 用string 自己写的拷贝构造函数 类中数据含有指针 类中含 ...

  2. 类模板与运算符重载(一个简单的例子)

    类模板与运算符重载(一个简单的例子) 标签(空格分隔): C++ 算法竞赛 下面是一段简单的代码,表示我们建立了一个类模板Vector,可以看做是对STL中vector的简单实现. 为了让这个Vect ...

  3. C++ 学习 ::【基础篇:17】:C++ 类与对象:运算符重载介绍、运算符重载函数(类内与类外区别)写法及简单设计实现

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...

  4. 第11章 运算符重载与约定

    第11章 运算符重载与约定 我们在<第2章 Kotlin 语法基础>中已经学习过关于运算符的相关内容,本章将继续深入探讨Kotlin中的运算符的重载与约定. 通常一门编程语言中都会内置预定 ...

  5. C++深拷贝与浅拷贝的区别-简单易懂

    C++深拷贝与浅拷贝的区别-简单易懂 介绍 浅拷贝就比如像引用类型,而深拷贝就比如值类型. 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同).对其中任何一个对象的改动都会影响另 ...

  6. c++运算符重载总结

    c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁.高效.在c++中不止函数可以重载,运算符也可以重载.由于一般数据类型间的运算符没有重载的必要, ...

  7. C++中运算符重载需要遵循的规则

    一.C++中运算符重载需要遵循的规则 1.并不是所有的运算符都可以重载.能够重载的运算符包括: + - * / % ^ & | ~ ! = < > += -= *= /= %= ^ ...

  8. Java为什么不提供运算符重载?

    从C ++到Java,一个显而易见的未解决问题是Java为什么不包括运算符重载? 不是Complex a, b, c; a = b + c;吗Complex a, b, c; a = b + c; C ...

  9. 为什么 Java 不支持运算符重载?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | Yujiaao 来源 | https://se ...

  10. 复习笔记(六)——C++运算符重载(难点)

    运算符重载 运算符重载的概念 运算符重载类似于函数重载. 运算符重载允许把标准运算符(如+.-.*.<等)应用于定制数据类型的对象. 什么情况下需要考虑运算符重载? 需要用运算符操作自定义类的对 ...

最新文章

  1. java a标签正则_正则表达式:java中婚配HTML中a标签中的中文字符
  2. 推荐一款好工具:16进制字节搜索工具 C#的效率
  3. SpringBoot中使用 Druid 数据库连接池, 后台SQL监控无效
  4. 原python基础概念整理_Python从头学之基础概念整理
  5. 实时对讲是怎么发起的_QQ可实时显示手机电量并展示给好友 近半投票者支持该功能...
  6. python 计算累计人数_免费Python入门课程,看到就是赚到~
  7. FIND_IN_SET 精确查找
  8. 魅族Flyme5.x以上系统INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
  9. ASP.NET 缓存 Cache
  10. Linux(ubuntu)——FTP服务器
  11. 昨天晚上的总结--人跟人的区别在于想的多少吧
  12. 京东程序员回应“被猝死”;淘宝特价版已提交微信小程序;苹果 M1 单核性能勇超 Intel 11 代 i7|极客头条...
  13. android沉浸模式代码,Android沉浸式的两种方法
  14. Oracle数据库中NOLOGGING和FORCE LOGGING
  15. vue事件发射与接收(可实现页面传值和非父子组件传值)
  16. 脑力大挑战,1分钟 Serverless 部署“线上魔方”赢魔方
  17. 循迹小车三个感应c语言程序,循迹小车的C语言程序(带注释)
  18. Qt之QThread介绍(常用接口及实现、自动释放内存、关闭窗口时停止线程运行、同步互斥)
  19. html网页随机抽奖怎么制作,html简单易懂的随机抽奖
  20. Ember.js 入门指南 (一)

热门文章

  1. 关于区块链及其数据溯源的学习笔记
  2. 【牛刀小试4】斐波那契数
  3. 苹果10月23日或发布iPad mini
  4. android 6.0小游戏,宝宝汽车小游戏
  5. 利用selenium实时监测交大经管学院前沿讲座更新状态_20200527_
  6. 1.1股票数据预处理练习
  7. MATLAB读取xls文件的内容
  8. PHP制作面包屑,thinkPHP制作面包屑方法
  9. 050_Scrapy 爬虫框架 案例四大名著爬取
  10. 通过虚拟机安装Ubuntu系统到移动硬盘