哪些函数不能定义成虚函数?

76 阅读1分钟
  • 构造函数

虚函数由虚函数表指针调用,而虚函数表指针需要在构造函数中初始化,如果构造函数是虚函数,就前后矛盾了;

  • 内联函数

内联函数在编译的时候进行函数体的替换,而虚函数是在运行时动态确定;

  • 静态函数

静态函数属于类而不属于某个类对象,静态函数没有this指针;

  • 友元函数

友元函数不属于类的成员函数,不能被继承,对于没有继承属性的函数没有虚函数的说法;

  • 普通函数

普通函数也没有继承属性,也不能定义成虚函数;