C++ - 虚函数与纯虚函数

  1. 虚函数声明例如以下:
    virtual ReturnType FunctionName (Parameter)
    虚函数必须实现,那怕是空实现;假设不实现,编译器将报错。它的作用是为了能让其在子类里能够被重写以达到多态,当然也能够不重写。
  2. 纯虚函数声明例如以下:
    virtual ReturnType FunctionName (Parameter) = 0;
    纯虚函数一定未定义,仅仅是一个函数的声明而已,纯虚函数用来规范派生类的行为,即接口。包括纯虚函数的类是抽象类,抽象类不能被实例化,仅仅有被继承并重写其纯虚函数后才干使用。纯虚函数必须在子类里实现。
  3. 虚函数的类用于实作继承,继承接口的同一时候也继承了父类的实现;纯虚函数关注的是接口的统一性,实现有子类完毕。
  4. 对于虚函数来说,父类和子类都有各自的版本号。由多态方式调用的时候动态绑定。
  5. 实现了纯虚函数的子类,该纯虚函数在子类中就变成了虚函数。
  6. 虚函数是C++中用于实现多态的机制。核心理念就是通过基类訪问派生类定义的函数。
posted @ 2015-05-05 19:28  lcchuguo  阅读(203)  评论(0编辑  收藏  举报