一、多态的概念
简单来说,多态就是不同的对象做相同的事件有不同的结果和状态。
二、多态的分类
1、静态多态(重载)
比如说函数重载:
//进行加法运算
int Add(int x,int y){
return x+y;
}
double Add(double x,double y){
return x+y;
}
int main(){
int a=1;
int b=2;
double c=1.0;
double d=2.0;
cout<<Add(a,b)<<endl;
cout<<Add(c,d)<<endl;
return 0;
}
此外,还有运算符重载。在此不做过多介绍。
由此可知,静态多态是编译器在编译期间完成的,编译器会根据参数的类型来选择调用对应的函数。
2、动态多态
条件:
(1)必须通过基类的指针或者引用调用虚函数 。
(2)被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。
#include<iostream>
using namespace std;
class A //基类