1.在没有加virtual的情况下
基类与派生类中都包含同名函数,当我们实例化派生类,并调用派生类中的同名函数时,程序执行的是派生类中的同名函数,而不会执行基类中的同名函数。
基类的同名函数被隐藏,派生类没有办法访问到基类的同名函数,但是可以通过class::func_name的方式强制调用。
2.在有virtual关键字的情况下
基类和派生类返回值参数相同,函数名相同,有virtual关键字,则由创建的对象类型决定调用哪个函数。
基类与派生类中都包含同名函数,当我们实例化派生类,并调用派生类中的同名函数时,程序执行的是派生类中的同名函数,而不会执行基类中的同名函数。
基类的同名函数被隐藏,派生类没有办法访问到基类的同名函数,但是可以通过class::func_name的方式强制调用。
基类和派生类返回值参数相同,函数名相同,有virtual关键字,则由创建的对象类型决定调用哪个函数。