在 C++ 中,包含至少一个虚函数的类被称为“多态类”(Polymorphic Class)。多态类是实现多态性的基础,允许通过基类指针或引澳门二四六免费资料大全499099期 用来调用派生类的虚函数,从而实现运行时动态绑定。
多态类通常是一个抽象类,也就是包含至少一个纯虚函数(用 关键字声明并赋值为 的函数)的类。抽象类不能被实例化,它只能被用作基类,派生类必须实现所有纯虚函数,否则它们也会成为抽象类。
以下是一个简单的例子,展示了一个多态类的定义:
#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; }
在上面的示例中, 港澳宝典下载免费安装app2024新奥门正版资料查询 类是一个多态类,它包含了一个纯虚函数 。 和 类分别继承自 类,并实现了 函数。我们通过基类指针 和 来调用派生类的虚函数 ,实现了运行时的多态行为。
总结起来,拥有至少一个虚函数的类被称为多态类,它通过虚函数实现了运行时的多态性。