它们,不能是虚函数!!!

有些函数是不能作为虚函数的,详细是哪些?之前也没总结过,如今梳理一下!


作为虚函数的函数,必须是类的成员函数。且具有继承性。


1.非类的成员函数,即 普通函数

它们没有继承性,即便声明为虚函数,也毫无意义。


2.构造函数

首先,构造函数是不可以被继承的,自然就不能声明为虚函数

其次。构造函数是用来运行初始化的,虚函数是用来实现多态性的。若尚未构造出来,怎样实现多态?!

显然行不通。


3.静态成员函数

类的静态成员函数是不可以继承的。对于拥有它的类。仅仅有一份代码。由该类的全部对象共享。

所以也不能是虚函数。


4.friend函数(即。友元函数)

友元函数不属于类的成员函数,不可以被继承。


5.inline函数

内联函数在编译时就会展开运行,不具有多态性。






原文地址:https://www.cnblogs.com/mfrbuaa/p/5118361.html