Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++virtual

作者:淺墨   发布日期:2025-12-25   浏览:77

#include <iostream>

// 定义一个基类 Base,包含一个虚函数 virtualFunction
class Base {
public:
    // 虚函数,派生类可以重写该函数
    virtual void virtualFunction() {
        std::cout << "Base class virtual function" << std::endl;
    }

    // 析构函数也应该是虚函数,以确保正确销毁派生类对象
    virtual ~Base() {}
};

// 定义一个派生类 Derived,继承自 Base
class Derived : public Base {
public:
    // 重写基类的虚函数 virtualFunction
    void virtualFunction() override {
        std::cout << "Derived class virtual function" << std::endl;
    }
};

int main() {
    Base* basePtr;

    // 创建 Base 类的对象,并通过指针调用虚函数
    Base baseObj;
    basePtr = &baseObj;
    basePtr->virtualFunction();  // 输出: Base class virtual function

    // 创建 Derived 类的对象,并通过指针调用虚函数
    Derived derivedObj;
    basePtr = &derivedObj;
    basePtr->virtualFunction();  // 输出: Derived class virtual function

    return 0;
}

解释说明:

  1. 虚函数 (virtual function):在基类中声明为 virtual 的成员函数,允许派生类重写该函数。当通过基类指针或引用调用虚函数时,实际调用的是派生类中重写的版本。
  2. 多态性 (Polymorphism):通过虚函数实现,使得程序可以在运行时根据对象的实际类型调用相应的函数版本。
  3. 析构函数:基类的析构函数也应该声明为 virtual,以确保在通过基类指针删除派生类对象时,派生类的析构函数也能被正确调用。

以上代码展示了如何使用 C++ 中的虚函数来实现多态性。

上一篇:进制转换c++代码

下一篇:c++freopen怎么用

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站