类成员函数的重写(Overriding)、重载(Overloading)和隐藏(Hiding)是面向对象编程中常见的概念,它们分别具有不同的含义和应用场景。
一、重写(Overriding)
简单来说,就是派生类重写基类的虚函数,在不改变虚函数的返回类型,函数名和参数列表的情况
下,对函数内容进行重写,必须使用override关键字。
注:C++多态的实现方法最常用的也是运用重写的方法。
代码示例:
#include <iostream>
using namespace std;
class Base{
public:
virtual void speak()const{
cout<< "Base speaks"<<endl;
}
};
class Derived:public Base{
public:
void speak()const override{
cout<<"Derived speaks"<<endl;
}
};
int main()
{
Base *basePtr = new Derived;//父类Base指针指向子类Derived对象。
basePtr->speak();//调用Deri