- 2
- 0
- 约8.02千字
- 约 27页
- 2018-11-11 发布于江苏
- 举报
观察上例,对s1Constent这样的表达式,编译器又
观察上例,对于 s1 + Constent 这样的表达式,编译器又如何解释呢?String 类中并没有定义 operator + (char*) 这样的运算符重载呀!执行这样的表达式,仍然调用的是类中所定义的加法运算符重载。 当编译器遇到上述一个对象加一个串常量的表达式时,就试图找到一个 operator + (char*) 这样的运算符重载或者与表达式最为匹配的运算符重载。若找不到,它并不急于报错,而是试图利用类中已有的运算符重载 operator + (String) 来匹配这一表达式。然而,该函数中的参数是一个串对象的引用,而不是字符串常量,类型不匹配。这时,编译器就会查找类的构造函数,看是否存在一个 String(char*) 这样用 C 串来创建串对象的构造函数。若存在,则通过该构造函数用常串创建一个临时的对象,以满足加法运算符重载的要求。 实用中,再重载一个 operator + (char*) 将可以避免许多麻烦。但最佳选择还是使用友元运算符。 12.1.3 友元运算符 除了以下 5 种运算符,所有的运算符重载都可以是类的友元函数: = ( ) [ ] - type 其中:= 包括所有的复合赋值运算符;( ) 为函数调用运算符;[ ] 为下标运算符;- 为用于指针的成员访问运算符;而 type则是任一合法的数据类型,这样的运算符重载叫做转换函数(
您可能关注的文档
- 表 食品销售日常监督检查要点表.doc
- 表1 南法信地土地利用结构调整表.doc
- 表1 南京市农地区新市镇基本公共服务设施配建标准.doc
- 表1 基本情况执行标准.doc
- 表1 城区商服地地价区段基准地价表.doc
- 表1 建设项目况.doc
- 表1 科技金融家信息表.doc
- 表1 焦化企业基本情况表.doc
- 表1-1 手足病防控工作督导检查表(疾控机构).doc
- 表1-2 食品售日常监督检查要点表.doc
- 计量规程规范 JJF 2476-2026腹膜透析机校准规范.pdf
- 《JJF 2465-2026天然气在线硫化氢气体检测仪校准规范》.pdf
- JJF 1111-2026调制度测量仪校准规范.pdf
- 《JJF 1111-2026调制度测量仪校准规范》.pdf
- 计量规程规范 JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范.pdf
- JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范.pdf
- 《JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范》.pdf
- 《JJF 2470-2026食用油品质检测仪校准规范》.pdf
- JJF 2470-2026食用油品质检测仪校准规范.pdf
- 计量规程规范 JJF 2470-2026食用油品质检测仪校准规范.pdf
最近下载
- DB45T 2228.1-2020 公路养护预算编制办法及定额 第1部分:公路养护工程预算编制办法及定额.docx
- 2026爆破考核试题及答案.docx VIP
- 鼎捷ERPXR报表新增cpmr509采购合同.pptx VIP
- 《化工技术经济》复习资料.doc VIP
- 医院医疗质量与安全持续改进工作方案.docx VIP
- 鼎捷ERP报表新增csfr310_g01工单发料申请单.pptx VIP
- 双师培训自我鉴定5篇.docx VIP
- [东部固体废弃物处理中心卫生填埋场]申请《危险废物经.doc VIP
- 化验室安全培训之危化品_图文.ppt VIP
- 屯昌县生活垃圾焚烧发电厂工业供水工程 环评报告.doc VIP
原创力文档

文档评论(0)