虚函数 ( virtual )
概念
虚函数是在基类中声明并由派生类重新定义(覆盖)的成员函数。当使用指针或对基类的引用来引用派生类对象时,可以为该对象调用虚函数并执行派生类的函数版本。
- 虚函数确保为对象调用正确的函数,而不管用于函数调用的引用(或指针)类型如何。
- 它们主要用于实现多态
- 函数在基类中使用virtual关键字声明
- 函数调用的解析是在运行时完成的
虚函数规则:
- 虚函数不能是静态的
- 虚函数可以是另一个类的友元函数
- 应该使用基类类型的指针或引用来访问虚函数,以实现运行时多态性。
- 虚函数的原型在基类和派生类中应该相同
- 它们总是在基类中定义并在派生类中覆盖。派生类不必重写(或重新定义虚函数),在这种情况下,使用函数的基类版本。
- 一个类可以有虚析构函数,但不能有虚构造函数。
虚函数的工作步骤 … 待续
virtual void fun()
虚函数,派生类继承时可以不重写该函数
纯虚函数,可以理解为接口。
虚函数在C++里的作用是为了配合多态使用,也就是说,基类的指针指向派生类的对象时,我