C++多态有多种实现方式,在面对对象编程时,采用的是运行期多态,也称动态多态。在泛型编程中,多态基于模板的具现化与函数的重载解析,这种多态在编译期进行,也称编译器多态或者静态多态。
运行期多态
运行期多态归根结底就是类继承的一个特性。我们习惯于抽象出不同功能的对象的共有功能集合,在基类中将这些共有功能声明为虚函数(也称虚接口),然后由子类去重写这些虚函数,以实现多态。
class Animal
{
public :
void Animal();
virtual void shout() = 0;
};
void Animal::Animal()
{
std::cout << "Constructor of Animal" << std::endl;
}
class Dog :public Animal
{
public:
void Dog();
virtual void shout(){
cout <<