c++在什么情况下使用纯虚函数(pure vitrual function)?
作者:野牛程序员:2023-12-04 16:35:05 C++阅读 2683
纯虚函数通常在需要在基类中定义接口但无法提供默认实现的情况下使用。这种情况下,基类为派生类提供了一个必须被实现的接口,而派生类必须实现这个纯虚函数。
通过使用纯虚函数,你可以设计一个接口,确保所有派生类都提供特定的功能,同时避免在基类中提供默认实现。这对于实现多态性(polymorphism)和实现抽象基类(abstract base classes)非常有用。
以下是一个简单的示例:
class Shape { public: // 纯虚函数,需要在派生类中实现 virtual void draw() const = 0; // 普通函数,可以提供默认实现 void move(int x, int y) { // 实现移动逻辑 } }; class Circle : public Shape { public: // 实现基类中的纯虚函数 void draw() const override { // 实现绘制圆形的逻辑 } }; class Square : public Shape { public: // 实现基类中的纯虚函数 void draw() const override { // 实现绘制正方形的逻辑 } };
在这个例子中,Shape
是一个抽象基类,其中的 draw
函数是纯虚函数,因此任何继承自 Shape
的类都必须提供其自己的 draw
实现。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++为什么要用纯虚函数?
- 下一篇:c++虚函数与纯虚函数的区别