1、覆盖是子类和父类之间的关系,是垂直关系。
2、重载是同一个类中方法之间的累加,是水平关系。
重载(overloaded)和多态关系不大,真正和多态相关的是覆盖。
重载与覆盖的区别如下:
一、定义不同:
覆盖意思是指遮盖、掩盖,也指zhi空中某点发出的电波笼罩下方一定范围的地面。
重载,简单说就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
二、关系不同
1、覆盖是子类和父类之间的关系,是垂直关系;
2重载是同一个类中方法之间的累加,是水平关系。
三、方法的数量不同
1、覆盖只能由一个方法,或只能由一对方法产生关系;
2、重载是多个方法之间的关系。
四、参数不同
1、覆盖要求参数列表相同。
2、重载要求参数列表不同。
#include<iostream>
#include<string>
using namespace std;
void f(int a){
cout << a;
}
void f(string a){
cout << a;
}
int main(){
f(123);
f("123");
return 0;
}