在这个博文的基础上,进一步分类解答遇到的疑惑和新增理解,依旧惯例,十分感谢前人的分享,贴上链接:链接
C++的三大特性分别是:封装、继承、多态。这里将详细讲解多态
其实学习C++还是要学习C++中的思想,学习解决问题的思想,学习这种解决问题背后的根本。先将我们带回到没有多态的那个时期,考虑一下我们怎么解决以下问题:
加法:+
对于int型1/2/6/9这种,1+2=3很简单
对于double型1.11+1.12=2.23也很简单
但是我们在使用加号+的时候怎么没有去考虑,程序怎么知道我们带到加号左右的是什么呢?这就是最简单的多态了。
通过这个例子让我们先明白多态在做什么:C++的多态意味着程序会根据调用的不同的对象去执行不同的事情。
放一个图:
这是多态的分类,接下去我将一个个分析:
静态多态
函数重载可以先简单理解为在相同作用域下一个个名字相同的函数:
int add(int a, int b){
return a+b;
}
double add(double a, double b){
return a+b;
}
int main(){
int ans1 = add(1, 2);
double ans2 = add(1.0, 3.5);
int ans