数组下标运算符重载

函数声明形式

返回类型operator[](参数);

如果返回类型是引用,则数组运算符调用可以出现在等式的左边,接受赋值,即:

Obj[index] = value;

如果返回类型不是引用,则只能出现在等号的右边

Var = Obj[index];

#include <iostream>
#include <string>using namespace std;char week_name[7][4] = { "mon","tu","wed","thu","fri","sat","sun" };
class WeekTemp
{int temp[7];
public:int & operator[] (const char *name)//字符串作下标
    {for (int i = 0; i < 7; i++){if (strcmp(week_name[i], name) == 0)return temp[i];}}
};//关于数组下标运算符重载的测试
int main()
{WeekTemp beijing;beijing["mon"] = -3;beijing["tu"] = -1;cout << "Monday Temperature:" << beijing["mon"] << endl;return 0;
}

转载于:https://www.cnblogs.com/hujianglang/p/6629161.html

C++程序设计方法3:数组下标运算符重载相关推荐

  1. C++之操作符重载探究(四):下标运算符重载

    前文:C++之操作符重载探究(三):输出操作符重载 下标运算符[ ]重载   如果一个类的成员是一个数组,我们可以使用下标操作符来访问数组的成员.例如一个类定义如下:   上述代码存在两个问题:(1) ...

  2. inline函数返回值_C++知识补充-指针,const,函数指针,指针数组,运算符重载

    嵌入式Linux:C++ 面试准备珍藏版本​zhuanlan.zhihu.com 明月照我心:123道c++笔试题汇总(含答案)​zhuanlan.zhihu.com 阿贵:常见C++笔试面试题整理​ ...

  3. a[1]和1[a]——浅谈数组下标运算符

    C语言里,对数组的操作在绝大部分情况下,会将数组名隐式转换成一个指向数组首元素的指针来处理. 比如: int a[] = { 0, 1, 2, 3 }; 这是一个整型数组. 如果我们要引用其中的第2个 ...

  4. C++学习笔记:(四)运算符重载 类型转换

    目录 6.运算符重载 6.1运算符重载的基本概念 6.2成员函数重载运算符 6.3友元函数重载运算符 6.4成员函数重载运算符和友元函数重载运算符比较 6.5类型转换 6.运算符重载 面向对象程序设计 ...

  5. C++中的运算符重载

    1.Cpp中的重载运算符和重载函数 C++允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载.重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但 ...

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

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

  7. 十个 C++ 运算符重载示例,看完不懂打我...

    下面是一些 C++ 运算符重载示例,包括算术运算符.赋值运算符.逻辑运算符.成员运算符.关系运算符等等,这些都是使用频率较高的几个运算符重载案例. ⭐️ 所有示例代码均存放于 GitHub: geti ...

  8. 运算符重载的基本规则和习语是什么?

    问: 注意:答案是按特定顺序给出的,但是由于许多用户根据投票而不是给出的时间对答案进行排序,所以这里是一个按最有意义的顺序排列的答案索引: C++中运算符重载的一般语法 C++中运算符重载的三个基本规 ...

  9. C++运算符重载讲解与经典实例

    转自:http://blog.csdn.net/dingyuanpu/article/details/5852825 C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型 ...

  10. 【C++学习笔记四】运算符重载

    当调用一个重载函数和重载运算符时,编译器通过把您所使用的参数类型和定义中的参数类型相比较,巨鼎选用最合适的定义.(重载决策) 重载运算符时带有特殊名称的函数,函数名是由关键字operator和其后要重 ...

最新文章

  1. 100 行代码透彻解析 RPC 原理
  2. 多线程技术(四)线程的优先级
  3. Python求解线性方程组
  4. console linux 口 没输出_Console很飒,不止log
  5. python保持登录状态_“保持登录状态”-最佳方法
  6. OCS Inventory NG使用之在windows 2008 R2平台下安装服务器端(二)
  7. altium pcb 信号高亮_在PCB设计中高效的放置元件技巧
  8. EasyUI实现两个列表联动
  9. 麦克纳姆轮全向移动机器人纵向直线运动分析
  10. jquery库实现iframe自适应内容高度和宽度
  11. [力软7.0.6]力软敏捷开发框架前端API
  12. 堪萨斯州立大学计算机科学,堪萨斯州立大学相当于国内哪所大学?
  13. 为什么要用深浅拷贝、什么是深浅拷贝、以及如何实现
  14. 大一微积分笔记整理_大一微积分知识点总结
  15. 【虹科讲座预告】企业如何防止基于USB的数据外泄
  16. 批处理find 命令使用
  17. 【国产FPGA】国产FPGA搭建图像处理平台
  18. 趁年轻要学会打破思维
  19. MySQL数据操作与查询笔记 • 【第7章 连接查询】
  20. 一生何求的伤感空间日志发布:如果有一天,我还记得你

热门文章

  1. 如何一次为 Safari 中的所有标签添加书签?
  2. 静态反编译工具IDA Pro 7 for Mac
  3. 如何在Mac上的“活动监视器”中运行系统诊断?
  4. HashMap 在 JDK 1.8 中新增的数据结构 – 红黑树
  5. javap -c命令详解
  6. NOI十连测 第三测 T1
  7. 变量unset与null的区别
  8. 海蜘蛛理由器做端口映射
  9. 54.用环信实现聊天功能
  10. 学习Linux的七点忠告