重写
函数名,参数列表,返回值类型,所有都必须同基类中被重写的函数一致,只有函数体不同。
#include<bits/stdc++.h>
using namespace std;
class A {
public:
virtual void fun() {}
};
class B :public A {
public:
virtual void fun() {
cout << "B";
}
};
int main(void) {
A* a = new B();
a->fun();//输出B,A类中的fun在B类中重写
}
重载
函数重载是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。
#include<bits/stdc++.h>
using namespace std;
class A {
void fun() {};
void fun(int i) {};
void fun(int i, int j) {};
void fun1(int i,int j){};
};