函数重载
在同一作用域下,函数的函数名相同、参数列表(参数的类型、个数、顺序)不同,返回值不做要求,virtual可有可无
函数重写
在不同的作用域(分别位于父类和子类中)子类中定义和父类一模一样的函数(返回类型、函数名、参数列表都一样),父类函数必须有virtual关键字
父类指针指向子类对象!!
编译器会检查子类是否重写了父类的虚函数,重写了就会发生覆盖。(一般发生在多态)
函数重定义(覆盖)
在不同的作用域(分别位于父类和子类中),函数的名字必须相同,函数的返回值,参数列表不做要求。
函数都是通过对象调用的!
如果有同名的函数,但是参数列表不同,在父类和子类中不能自动的去区分,因为他们在不同的作用域范围,必须使用类名: :去显式的指定到底该调用哪个函数。(一般发生在继承)