C++/C函数特性

1.相比于C函数,C++增加了重载,内联,const(仅用于成员函数)和virtual(仅用于成员函数)机制。

2.重载函数只能靠参数列表而不能靠返回值来区分。

3.全局函数和类的成员函数名字相同不能作为重载,作用域不同。

4.成员函数重载条件:

(1)有相同的作用域(同一个类中)。

(2)函数名字相同。

(3)参数类型、顺序或数目不同(包括const参数和非const参数)。

(4)virtual关键字可有可无。

5.成员函数覆盖条件:

(1)有不同的作用域(处于基类和派生类中)。

(2)函数名字相同。

(3)参数列表相同。

(4)基类函数是虚函数。

6.成员函数隐藏条件:

(1)派生类和基类有函数同名,但参数列表不相同,不论基类有无virtual关键字,基类的函数在派生类中被隐藏。

(2)派生类和基类有函数同名,参数列表相同,基类无virtual关键字,基类的函数在派生类中被隐藏。

7.取消成员函数隐藏,使用using关键字,如using Base::functon;

posted @ 2017-11-19 23:22  一种微笑  Views(261)  Comments(0)    收藏  举报