- 子类和父类中有相同的函数时(名字,参数列表都相同),C++ 不是让子类的方法去替代父类中相同的那个方法,而是把父类中的那个相同的方法隐藏了(只有C++这么做)。
- overload(重载)是函数名相同,但是参数列表不同(个数,类型),(注意:只看参数列表,函数名和参数列表相同但返回值类型不同不是重载。因为编译器可以根据参数列表知道你要调用那个函数,但是无法根据返回值类型得知你要调用哪个函数)
- 默认的参数:函数参数如果要给默认值,必须是在函数原型里(声明),在函数定义的地方不允许设置默认值。
int f(int u, int j = 5); // ok int a(int i, int j = 5) // error { cout << i << j << endl; }
- 补充一个头文件的知识
//有两个文件,main.cpp 和 a.cpp // main.cpp f(int); // 不是通过a.h 引入的函数声明,这样也是可以的。头文件的作用本来就是引入声明的。不是说有一个 .cpp 文件就必须要有一个对应的 .h 文件 void main () { f(5); } // a.cpp int f(int a) { cout << a << endl; }