当前位置:首页 C++ > 正文

C++ 虚函数的详解及简单实例

作者:野牛程序员:2024-01-22 17:57:31 C++阅读 2712

C++中,虚函数是一种允许在派生类中重写基类函数的机制。通过在基类函数声明中使用关键字 virtual,可以将其声明为虚函数。派生类可以覆盖(重写)这些虚函数,从而提供特定于派生类的实现。

以下是虚函数的简单示例:

#include <iostream>

// 基类
class Shape {
public:
    // 虚函数
    virtual void draw() const {
        std::cout << "Drawing a shape" << std::endl;
    }
};

// 派生类1
class Circle : public Shape {
public:
    // 重写基类的虚函数
    void draw() const override {
        std::cout << "Drawing a circle" << std::endl;
    }
};

// 派生类2
class Square : public Shape {
public:
    // 重写基类的虚函数
    void draw() const override {
        std::cout << "Drawing a square" << std::endl;
    }
};

// 客户端代码
void drawShape(const Shape& shape) {
    // 调用虚函数,将在运行时确定调用的实际函数
    shape.draw();
}

int main() {
    Circle circle;
    Square square;

    // 通过基类指针调用虚函数
    drawShape(circle);
    drawShape(square);

    return 0;
}

在上述示例中,Shape 是基类,它有一个虚函数 drawCircleSquare 分别是 Shape 的派生类,它们都重写了 draw 函数。在 main 函数中,通过基类指针调用 drawShape 函数,实现了运行时多态性,具体调用哪个版本的 draw 函数由对象的实际类型确定。

这就是C++虚函数的基本概念和简单实例。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击