有些函数是不能作为虚函数的,详细是哪些?之前也没总结过,如今梳理一下!
作为虚函数的函数,必须是类的成员函数。且具有继承性。
1.非类的成员函数,即 普通函数
它们没有继承性,即便声明为虚函数,也毫无意义。
2.构造函数
首先,构造函数是不可以被继承的,自然就不能声明为虚函数
其次。构造函数是用来运行初始化的,虚函数是用来实现多态性的。若尚未构造出来,怎样实现多态?!
显然行不通。
3.静态成员函数
类的静态成员函数是不可以继承的。对于拥有它的类。仅仅有一份代码。由该类的全部对象共享。
所以也不能是虚函数。
4.friend函数(即。友元函数)
友元函数不属于类的成员函数,不可以被继承。
5.inline函数
内联函数在编译时就会展开运行,不具有多态性。