虚函数

来源:互联网 发布:时时宝典软件下载 编辑:程序博客网 时间:2024/05/23 16:46

OOP的核心是数据抽象、继承和动态绑定。
所有虚函数必须都有定义。通常情况下,我们不使用某个函数,则无需为该函数提供定义。但是我们必须为每一个虚函数提供定义,而不管它是否被用到了,这是因为连编译器也无法确定到底会用哪个虚函数

多态

虚函数表

不能声明为虚函数的函数

  1. 普通函数(非成员函数)
    因为普通函数只能被重载overload,不能被override(覆盖),它在编译时确定。
  2. 构造函数
    虚函数的目的就是在运行时进行实际的对象不同动态绑定。构造函数用来初始化对象,只有对象生成后,才能发挥多态的作用。
  3. 内联函数
    内联函数在代码中直接展开,减少函数调用的开销。
    而且,内联函数是编译时展开,用整个函数体去替换。虚函数是运行时动态绑定。
  4. 静态成员函数
    静态成员函数是类作用域的全局函数,所有对象共享这一份代码。
0 0
原创粉丝点击