虚函数与纯虚函数
在面向对象编程中,虚函数和纯虚函数是理解多态性的基本概念。
什么是虚拟函数?
虚函数是基类中允许动态分派的可继承和可重写的函数。当对对象调用虚函数时,运行时系统会根据对象的类型确定要执行的实际函数实现。
示例:
class Base { public: virtual void foo() { std::cout << "Base::foo()" << std::endl; } }; class Derived : public Base { public: void foo() override { std::cout << "Derived::foo()" << std::endl; } };
中在这个例子中,基类和派生类都实现了 foo() 函数。当对 Derived 对象调用 foo() 时,它会执行重写版本,该版本打印“Derived::foo()。”
什么是纯虚函数?
纯虚函数,也称为抽象函数,是基类中未定义的虚函数。它充当占位符,需要派生类来实现它。
示例:
class Base { public: virtual void foo() = 0; // pure virtual function };
此示例将 foo() 声明为 Base 中的纯虚函数班级。派生类必须实现此函数才能提供定义。如果不这样做,派生类就会变成抽象类,无法实例化。
虚函数和纯虚函数的区别
以上是C 中的虚函数和纯虚函数有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!