c++是一门面向对象的语言,具有继承、封装和多态三大特性,本文我们总结一下c++中多态的特性及其实现方法。多态指的是调用同一接口,表现出不同的特性,分为静态多态和动态多态。静态多态指在编译期就能确定其特性的多态,而动态多态需要在运行时确定其特性。
静态多态
静态多态包括重载和模板两种方式。c++重载是指函数在调用时,即使调用的函数名相同,也可以根据参数列表来确定其调用对象,比如下面的代码中有四个函数,main()函数中的调用,根据参数列表的不同,可以找到对应的函数入口。
//函数1
void foo(){
}
//函数2
void foo(int x){
}
//函数3
void foo(int x, float y){
};
//函数4
void foo(float x, int y){
};
int main(){
foo(); //调用函数1
foo(3)