C++中纯虚函数与虚函数的区别

本文详细介绍了纯虚函数与虚函数的概念及其在面向对象编程中的应用。纯虚函数用于定义接口,要求子类必须实现,而虚函数则提供了默认实现,并允许子类进行重写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在一个类中定义一个纯虚函数,则这个类是抽象类。纯虚函数在基类中是不实现的,只是提供一个接口。在子类中分别去实现。在很多情况下,类本身是不生成对象的。动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。
纯虚函数就是基类只定义了函数体,没有实现过程,定义方法如: virtual void Eat() = 0; 不要 

在cpp中定义;纯虚函数相当于接口,不能直接实例化,需要派生类来实现函数定义;

子类中必须覆盖基类的纯虚函数;

含有纯虚函数的类不能被实例化;

含有纯虚函数的类一定是抽象类;

基类的纯虚函数没有函数体。

而:类里声明为虚函数的话,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被重载,这样的话,这样编译器就可以使用后期绑定来达到多态了。

3、虚函数是为了继承接口和默认行为,可以继承父类的实现,当然自己也可以去实现。
     纯虚函数只是继承接口,行为必须重新定义。 

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值