内联函数、构造函数、静态成员函数不可以定义为虚函数

内联函数、构造函数、静态成员函数不可以定义为虚函数

  • 内联函数是编译时展开函数体,所以在此时就需要有实体,而虚函数是运行时才有实体,所以内联函数不可以为虚函数。
  • 静态成员函数是属于类的,不属于任何一个类的对象,可以通过作用域以及类的对象访问,本身就是一个实体,所以不能定义为虚函数。
  • 如果构造函数定义为虚函数,则需要通过查找虚函数表来进行调用。但是构造函数是虚函数的情况下是找不到的,因为构造函数自己本身也不存在,创建不了实例,没有实例化对象,则类的成员不能被访问。

猜你喜欢

转载自blog.csdn.net/zhoujy1996/article/details/80559063
今日推荐