函数的重载

让编程改变世界

Change the world by program


函数的重载

C++ 里的函数重载(overloading)机制比我们此前见到的东西都高深,这种语言的灵活性和强大功能在它身上体现得淋漓尽致。 所谓函数重载的实质就是用同样的名字再定义一个有着不同参数但有着同样用途的函数。(人格分裂、多重身份……) 注意:可以是参数个数上的不同,也可以是参数数据类型上的不同!   实例演示:convertTemperature.cpp (源代码下载)   按照思路,我们自己试着来动手实现第一个函数的重载:convertTemperature_2.cpp (源代码下载)   这个例子,我们可以体验到:对函数进行重载,事实上可以简化编程工作和提高代码可读性。 大家想必已经体会到重载的优越性了,事实上,重载不是一个真正的面向对象特征,它只是可以简化编程工作的一种方案,而简化工作正式C++ 语言的全部追求。

有以下几点需要大家注意的:

对函数(方法)进行重载一定要谨慎,不要“无的放矢”或“乱点鸳鸯”; 要知道重载函数越多,该程序就越不容易看懂; 注意区分重载和覆盖(覆盖后边我们会讲到); 我们只能通过不同参数进行重载,但不能通过不同的返回值(尽管后者也是一种区别); 最后,对函数进行重载的目的是为了方便对不同数据类型进行同样的处理。

课后作业

为什么不能通过返回值不同来重载函数(方法)呢?   利用重载函数的方法设计一个程序,改程序通过函数"calc()"进行计算并返回显示结果。 当传入一个参数时,计算该参数的平方值; 当传入两个参数时,计算两个参数的积; 当传入三个参数时,计算三个参数的和。 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://urlxf.qq.com/?aA7Nvuv']视频下载[/Downlink] [Downlink href='http://kuai.xunlei.com/d/LDVDOTRZOXYE']备胎下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/archive/2011/07/01/3846109.html

函数的重载 - C++快速入门06相关推荐

  1. 【个人笔记】OpenCV4 C++ 快速入门 06课

    个人资料,仅供学习使用 修改时间--2022年2月10日 08:46:02 学习课程:OpenCV4 C++ 快速入门视频30讲 视频老师:贾志刚 06 滚动条操作1.0 - 调整图像亮度 openc ...

  2. 如何快速掌握python函数_新手如何快速入门Python编程?

    展开全部 了解 Python 编程基础 首先第一点,要能够看懂了解变量.基础语法.编程规范等,这些事能够上手编写Python 代码的前62616964757a686964616fe4b893e5b19 ...

  3. 运算符重载 - C++快速入门25

    运算符重载 让编程改变世界 Change the world by program 运算符重载 所谓重载,就是重新赋予新的含义.函数重载是对一个已有的函数赋予新的含义,使之实现新功能. 其实运算符也可 ...

  4. QT快速入门、三点求圆心实现详解

    在编程中,会经常用到数学计算,所以C++将常用的数学计算,例如求正余弦等,封装成函数(正是我们在3.2 数学计算中学习到的),我们只需要写入简单的语句就可以执行所需要的功能,这正是函数的意义.在这一章 ...

  5. 从C快速入门C++ (命名空间、引用、函数重载)

    从C快速入门C++ (命名空间.引用.函数重载) C++关键字 const const 的存储位置 结论: 命名空间 C++预处理器 和 iostream 文件 头文件名 命名空间使用 函数重载 默认 ...

  6. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)--JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...

  7. 全干货之Python3快速入门(五)——Python3函数

    全干货之Python3快速入门(五)--Python3函数 什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段 函数能提高应用的模块性,和代码的重复利用率. 在Python中 ...

  8. 【Python数据科学快速入门系列 | 06】Matplotlib数据可视化基础入门(一)

    这是机器未来的第52篇文章 原文首发地址:https://robotsfutures.blog.csdn.net/article/details/126899226 <Python数据科学快速入 ...

  9. 开源纯C日志函数库iLOG3快速入门(八、如果你喜欢简单日志函数甚于日志函数库)...

    2019独角兽企业重金招聘Python工程师标准>>> 开源纯C日志函数库iLOG3快速入门(八.如果你喜欢简单日志函数甚于日志函数库) 很多网友来信坚持表达了在项目中应使用简单日志 ...

最新文章

  1. 线程池的原理及实现(转)
  2. 将磁盘上的一个文本文件的内容复制到另一个文件中
  3. ueditor编辑器java使用_ueditor编辑器的用法图文教程
  4. 批处理检查电脑是否中了冰河木马
  5. 《Qt on Android核心编程》夹
  6. R语言给图形填充颜色(polygon函数)
  7. CVR预估模型-ESMM
  8. Leetcode之字符串转换整数
  9. Atiitt cdn技术总结 性能提升之道 目录 1. 组成 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: 1 1.1. CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡
  10. fortran 学习记录2
  11. 工业以太网交换机特点分析及使用注意事项
  12. 神奇的二进制转换和运算
  13. 最新30个漂亮的个人作品集网页设计案例
  14. 全国(省,直辖市,自治区,特别行政区)映射集合
  15. [日常训练] Surprise me
  16. 分享一次自己使用 pyecharts 模块 画地图,一路踩坑和填坑的经历
  17. 打造属于自己的量化投资系统2——利用backtrader创建简单移动平均线策略
  18. java程序如何生成客户端_java webservice生成客户端代码并调用
  19. 2023最新聚支付系统源码/已去除授权+支持易支付和码支付
  20. SAP中做一个配置BOM(SAP配置BOM攻略一)

热门文章

  1. Spring装配Bean---使用xml配置
  2. java程序通过命令行运行之Path和ClassPath的注意点
  3. Oracle笔记 六、PL/SQL简单语句块、变量定义
  4. Jmeter入门实战(二)如何使用Jmeter的BeanShell断言,把响应数据中的JSON跟数据库中的记录对比...
  5. 数据仓库的未来 MariaDB ColumnStore
  6. IDEA tomcat 配置虚拟目录怎么
  7. eclipse中中文字体过小
  8. objective-c系列-单例
  9. 回击质疑 HP StoreOnce用高性能说话
  10. 【JOURNAL】恭喜发财