函数重载的内容: 一个程序中,如果有两个构造函数有一样的函数名,但是参数的类型和个数不一样, 在C语言中是不允许的, 但是在c++中是合法的。
C++编译器会根据参数的类型和个数赖确定执行哪个构造函数。
函数重载构成条件: 函数参数类型,参数个数不同才能构成函数的重载、
EX: 1) void output ();
int output ();
注意: 函数返回类型不同不能构成函数重载.
2) void output(int a, int b = 5);
void output(int a);
注意: 函数带有默认参数的时候可能会造成调用歧义,因此不能构成函数重载
函数覆盖
基类和派生类中有函数名,参数列表都一样的函数,基类中的函数为虚函数,称为函数覆盖
函数覆盖条件:
1. 基类函数必须是虚函数(virtual)
2. 发生覆盖的两个函数要分别位于派生类和基类中
3.函数名称与参数列表必须完全相同
函数隐藏
基类和派生类中有函数名,参数列表都一样的函数,基类中的函数不是虚函数,称为函数隐藏