• 子类和父类中有相同的函数时(名字,参数列表都相同),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;
    }