C++多态详解
要学习C++多态,那么要先了解多态这个词在C++里面是什么意思:简单来说就是:试图用不变的代码或者函数来实现不同的算法,比如重载、模板、虚函数;
多态又分为静态多态和动态多态,静态多态指的是在编译阶段就确定下来的内容,比如函数的重载 , 而动态多态指的是在运行时才能决定的事情,比如虚函数;
本文作者将尽自己最大的努力,争取能把C++的多态讲的详细一点,抛砖引玉,希望新加入C++大家庭的同学有所收获。
静态多态
静态多态指的是在编译阶段就确定下来的内容,比如函数的重载 ,这个来说相对简单一些,本文为了全面的阐述我自己对多态的理解,故重载虽然简单,单但是难免一些新入门的同学不太了解,故在此也简单介绍一下:
先说重载,
1、首先两个函数的作用域必须相同,(这点很重要,基类和派生类不在一个作用域,所以基类和派生类的函数不可能重载);
2、函数名相同;
3、参数列表(参数类型,参数的个数,参数了顺序)不相同;
4、与返回值无关,叫重载;
动态多态
动态多态指的是在运行时才能决定的事情,主要通过虚函数实现。