c++中的虚函数有啥作用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中的虚函数有啥作用?相关的知识,希望对你有一定的参考价值。

其作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。实现动态多态性,使同一类族中不同类的对象对同一函数调用作出不同响应。说白了,就像一个多频段收音机,一台机子响应不同事件。 参考技术A 类的三个重要特征:封装、继承、多态性。
其中多态性就是通过函数重载(运算符重载实质上也是函数重载)和虚函数来实现的。
虚函数的作用:在基类用virtual声明成员函数为虚函数,在派生类中重新定义该函数,就可以通过基类指针或引用来访问基类和派生类中的同名函数。
虚函数实现多态性:同一类族中不同类的对象,对同一函数调用做出不同的响应。
多态性其实就是一个接口,多种方法,分为静态多态性和动态多态性,函数重载属于静态多态性,在程序编译时就可确定调用哪个函数,其过程称为静态关联或早期关联,静态多态性又称编译时多态性;虚函数属于动态多态性,在程序运行过程中才动态地确定所调用的是那个对象的函数,其过程称为动态关联或滞后关联,动态多态性又称运行时多态性。

以上是关于c++中的虚函数有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

C++中的虚函数以及虚函数表

C++:动态共享库中的虚函数产生段错误

c++ 虚函数和纯虚函数

深入理解C++ 虚函数表

C++ 虚函数表解析

C++ 虚函数表解析