虚函数和纯虚函数的区别和作用

 我来答
教育之家a
2023-06-18 · TA获得超过147个赞
知道小有建树答主
回答量:1204
采纳率:100%
帮助的人:18万
展开全部

虚函数和纯虚函数的区别:声明方式不同、实现方式不同、覆盖方式不同、特性不同、用法不同。

1、声明方式不同

虚函数可以在类中声明,也可以在类的外部声明,编译器会自动将它们转换为虚函数;但是纯虚函数只能在类中声明,而不能在类的外部声明。

2、实现方式不同

虚函数可以有实现,也可以没有实现;而纯虚函数没有实现,不可以有实现。

3、覆盖方式不同

虚函数可以在子类中覆盖,也可以不被覆盖;而纯虚函数必须在子类中覆盖,否则编译器将报错。

4、特性不同

虚函数可以被多态调用,也可以被静态调用;而纯虚函数只可以被多态调用,不可以被静态调用。

5、用法不同

虚函数可以用来实现多态,可以根据调用对象的实际类型,而不是根据声明类型来调用适当的函数。这样可以有效地实现代码的重用,避免了重复编码。

纯虚函数可以用来实现抽象类,一个抽象类是指一个类中定义了至少一个纯虚函数的类。这样可以定义一个抽象的接口层,子类可以通过实现纯虚函数来实现抽象接口的不同功能。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式