c++的函数重载-笔记

每个现象后面都隐藏一个本质~

感谢:吴秦http://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html

1.using 就是一种解决命名冲突的方法。

2.函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。操作符重载,本质上就是函数重载

3.类的构造函数跟类名相同,也就是说:构造函数都同名。

4.如何将一个重载函数的签名映射到一个新的标识?

    返回类型+函数名+参数列表

5.重载函数的调用匹配:

精确匹配:参数匹配而不做转换,或者只是做微不足道的转换,如数组名到指针、函数名到指向函数的指针、T到const T;

提升匹配:即整数提升(如bool 到 int、char到int、short 到int),float到double

使用标准转换匹配:如int 到double、double到int、double到long double、Derived*到Base*、T*到void*、int到unsigned int;

使用用户自定义匹配;

使用省略号匹配:类似printf中省略号参数

如果在最高层有多个匹配函数找到,调用将被拒绝(因为有歧义、模凌两可)

6.在C++语言中,虚函数是非常重要的概念,虚函数是实现C++面向对象中多态性和继承性的基石。而多态性和继承性则是面向对象语言的精髓

7.区别出什么是覆盖和重载:
覆盖就是派生类中虚成员函数覆盖基类中同名且参数相同的成员函数

待续。。

Coding
原文地址:https://www.cnblogs.com/ccie-leon-43093/p/5372559.html