虚函数与纯虚函数

前言

最近面试的时候面试官问了这样的问题,自己虽然大致知道他们之间的区别,但当时面试时有些逻辑混乱。所以面试完想好好总结一番。

虚函数

C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。简要来说就是子类可以重写父类的虚函数实现子类的特殊化

纯虚函数

C++中包含纯虚函数的类,被称为是“抽象类”。抽象类不能使用new出对象,只有实现了这个纯虚函数的子类才能new出对象。简要来数,纯虚函数在基类中是没有定义的,必须在子类中加以实现!

定义一个函数为虚函数,不代表函数为不被实现的函数,而是为了允许用基类的指针来调用子类的这个函数。
定义一个函数为纯虚函数,才代表函数没有被实现,而是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。

猜你喜欢

转载自www.cnblogs.com/yunlambert/p/9191784.html
今日推荐