全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

c++纯虚函数和虚函数区别是什么

来源:千锋教育
发布人:xqq
2023-11-17

推荐

在线提问>>

在C++中,纯虚函数和虚函数都与面向对象编程中的多态性有关,但它们之间存在一些区别。

1、纯虚函数(Pure Virtual Function):

纯虚函数是在基类中声明的没有实际实现的虚函数。

通过将函数声明为纯虚函数,可以使基类成为抽象类,这意味着它不能直接实例化对象。

子类必须实现纯虚函数,否则子类也将成为抽象类。

声明纯虚函数的语法是在函数声明末尾加上 “= 0″:virtual void functionName() = 0;

示例:

class Base {
pubpc:
    virtual void pureVirtualFunction() = 0; // 纯虚函数
};

class Derived : pubpc Base {
pubpc:
    void pureVirtualFunction() override {
        // 子类必须实现纯虚函数
        // 具体的实现代码
    }
};

2、虚函数(Virtual Function):

虚函数是在基类中声明并使用关键字 “virtual” 的函数。

虚函数可以被子类重写(override),并且根据实际调用的对象类型动态地决定调用哪个函数实现。

基类指针或引用可以用于调用虚函数,实现运行时多态。

示例:

class Base {
pubpc:
    virtual void virtualFunction() {
        // 基类的虚函数实现
    }
};

class Derived : pubpc Base {
pubpc:
    void virtualFunction() override {
        // 子类重写了基类的虚函数
        // 具体的实现代码
    }
};

总结:

纯虚函数是没有实际实现的虚函数,用于定义接口和创建抽象类。

虚函数是在基类中声明并有默认实现的函数,可以被子类重写,并通过运行时多态性进行动态分派。

相关文章

malloc.h是什么头文件

linux sz命令处理大文件出错怎么解决

SQL Server 2008如何删除数据库日志

pycharm找回删除的文件怎么找

pycharm中venv文件夹是红的是怎么回事

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取