C++ 虚函数,虚析构函数与多态,纯虚函数与抽象

💡 原文中文,约6400字,阅读约需16分钟。
📝

内容提要

虚函数和多态是面向对象编程中的重要概念。虚函数允许在派生类中重写基类的函数,并且在运行时根据对象的实际类型来调用函数。虚函数的概念在C++中通过在基类函数声明前面加上关键字virtual来定义。派生类可以重写基类的虚函数,使用override关键字来确保正确的重写。当通过基类指针或引用调用虚函数时,将根据对象的实际类型来调用正确的函数。隐藏是指子类中的成员函数隐藏了父类中同名的成员函数。虚析构函数是为了正确释放派生类对象的资源,通常应该声明为虚函数。多态是在运行时根据对象的实际类型来调用适当的函数。纯虚函数和抽象类是C++中的概念,纯虚函数在基类中只能申明,并且不能有函数体,需要在派生类中重写。抽象类不能被实例化,只能用作其他类的基类。

🎯

关键要点

  • 虚函数和多态是面向对象编程中的重要概念。
  • 虚函数允许在派生类中重写基类的函数,并在运行时根据对象的实际类型调用函数。
  • 在C++中,通过在基类函数声明前加上关键字virtual来定义虚函数。
  • 派生类可以使用override关键字重写基类的虚函数,确保正确的重写。
  • 虚函数的调用根据对象的实际类型进行,而不是指针或引用的类型。
  • 隐藏是指子类中的成员函数隐藏了父类中同名的成员函数。
  • 虚析构函数用于正确释放派生类对象的资源,通常应声明为虚函数。
  • 多态是在运行时根据对象的实际类型调用适当的函数。
  • 纯虚函数在基类中只能声明,不能有函数体,必须在派生类中重写。
  • 抽象类不能被实例化,只能作为其他类的基类。
  • 不应滥用虚函数,只有需要被子类重写的函数才应设计为虚函数。
  • 纯虚函数和抽象类的概念在C++中与Java类似,抽象类中至少有一个纯虚函数。
  • 在实际开发中,类的声明应在头文件中,定义在源文件中。
🏷️

标签

➡️

继续阅读