千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > c++纯虚函数和虚函数区别是什么

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

来源:千锋教育
发布人:xqq
时间: 2023-11-19 08:38:59 1700354339

在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 {
        // 子类重写了基类的虚函数
        // 具体的实现代码
    }
};

总结:

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

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

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT