c++有虚函数的类叫什么
作者:野牛程序员:2023-08-01 17:48:26 C++阅读 2398
在 C++ 中,包含至少一个虚函数的类被称为“多态类”(Polymorphic Class)。多态类是实现多态性的基础,允许通过基类指针或引用来调用派生类的虚函数,从而实现运行时动态绑定。
多态类通常是一个抽象类,也就是包含至少一个纯虚函数(用 virtual
关键字声明并赋值为 0
的函数)的类。抽象类不能被实例化,它只能被用作基类,派生类必须实现所有纯虚函数,否则它们也会成为抽象类。
以下是一个简单的例子,展示了一个多态类的定义:
#include <iostream> class Shape { public: virtual void draw() = 0; // Pure virtual function }; class Circle : public Shape { public: void draw() override { std::cout << "Drawing a circle." << std::endl; } }; class Square : public Shape { public: void draw() override { std::cout << "Drawing a square." << std::endl; } }; int main() { Circle circle; Square square; Shape* shapePtr1 = &circle; Shape* shapePtr2 = □ shapePtr1->draw(); // Output: "Drawing a circle." shapePtr2->draw(); // Output: "Drawing a square." return 0; }
在上面的示例中,Shape
类是一个多态类,它包含了一个纯虚函数 draw()
。Circle
和 Square
类分别继承自 Shape
类,并实现了 draw()
函数。我们通过基类指针 shapePtr1
和 shapePtr2
来调用派生类的虚函数 draw()
,实现了运行时的多态行为。
总结起来,拥有至少一个虚函数的类被称为多态类,它通过虚函数实现了运行时的多态性。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:c++虚函数指针大小
- 下一篇:c++定义指针怎么初始化