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