重写是指派生类中存在重新定义的函数。其函数名,参数列表,返回值类型,所有都必须同基类中被重写的函数一致。只有函数体不同(花括号内),派生类调用时会调用派生类的重写函数,不会调用被重写函数。重写的基类中被重写的函数必须有virtual修饰。
#include<bits/stdc++.h>
using namespace std;
class A
{
public:virtual void fun(){cout << "A";}
};
class B :public A
{
public:void fun(){cout << "B";}
};
int main(void)
{A* a = new B();a->fun();//输出B
}