1、方法包括方法名,返回类型,形参表,修饰符。

2、对于一个方法,const可以出现的地方有返回类型,形参表,和方法后(const成员方法)。

3、返回类型的常量性(是否为const)不同,不能构成过载。为什么?

  过载是编译时多态,也就是说,在编译的时候,已经确定下来调用哪个方法。对于又返回类型的方法,调用的时候,可能不处理返回值,这样的话,编译器就不知道该调用哪个方法了。

4、我们知道,形参表不同可以构成过载。如果形参表相同,只是形参的常量性不同,能否构成过载?

  形参为引用或者指针,可以构成过载,否则不能构成过载。为什么?

  过载是编译时多态,必须在编译时确定调用哪个方法。

  如果形参为引用或者指针,调用方法的时候形参就是实参对象本身,根据实参是否为const可以确定调用哪个方法。

  如果形参不是引用或者指针,调用方法的时候会进行copy构造(对应的是copy赋值),与实参没有了关系,编译器不知道该调用哪个方法。  

5、方法后,是否为const成员方法,可以构成过载。为什么?

  这个时候可以根据方法绑定的对象,是否为const,精确匹配,确定调用哪个方法。

注意:对于const成员方法,当前没有过载的非const成员方法,const成员方法会把绑定的对象强制转化为const对象。

主调方法,被调方法,方法的绑定对象(方法的拥有者)。

最新文章

  1. mysql awr 1.0.5 GA正式版发布
  2. MVC架构模式分析与设计(一)---简单的mvc架构
  3. ubuntu 安装mysql-python和 python-ldap,navicate 问题
  4. Jmeter在linux上运行(命令行运行Jmeter)
  5. mysql存储过程简介
  6. [设计模式] javascript 之 适配器模式
  7. 在C/C++程序里打印调用栈信息
  8. C# (事件触发)回调函数,完美处理各类疑难杂症!
  9. 使用Nginx SSI功能辅助HTML页面设计
  10. C++转到C#历程零基础知识(持续增加)
  11. Maven实战——生命周期和插件
  12. MapReduce程序依赖的jar包
  13. Date、DateTime值的格式化扩展函数
  14. og协议-有利于SNS网站分享
  15. [转]group by 后使用 rollup 子句总结
  16. SCCM 2012 R2实战系列之一:SQL安装
  17. js-函数柯里化
  18. 使用Mobx插件查看mobx的变量值
  19. ios app 生命周期
  20. code.google.com certificate error: certificate is for www.google.com

热门文章

  1. 简单了解Linux的inode与block
  2. 请画出Servlet 2.2以上Web Application的基本目录结构
  3. mysql-8.0.12安装和配置
  4. Unity 2D游戏开发教程之精灵的死亡和重生
  5. Kail Linux渗透测试教程之Recon-NG框架
  6. python虚拟环境virtualenv下安装MySQL-python
  7. AtCoder Regular Contest 80
  8. 2017-2018-1 JAVA实验站 冲刺 day04
  9. LinkCutTree 总结
  10. Nginx服务器的启动控制