C++中重载和重写的区别

95 篇文章 1 订阅 ¥119.90 ¥299.90
78 篇文章 2 订阅 ¥119.90 ¥299.90
重载和重写是C++面向对象编程中的关键概念。重载通过函数名相同但参数列表不同来实现,而重写发生在子类中,对虚拟函数进行新的实现。掌握这两者有助于编写优雅且易于维护的代码,也是C++工程师面试的常见问题。深入理解重写,可以探讨C++的多态特性,包括虚表和指针内存管理。
摘要由CSDN通过智能技术生成

重载和重写对于C++来说是非常重要的概念,面向对象程序设计,会用这两个操作,你的代码会优雅很多。以前刚出道,不会重载,所以不断的想函数名称,绞尽脑汁,导致代码逻辑混乱而且前脚刚写完后脚就忘记了,说明代码功底不好也影响了整个项目。

          如果面试C++工程师,重载和重写的区别很频繁被问到。我建议这么简单回答即可:重载是指同名函数参数的类型,个数,顺序不同,根据参数列表决定调用哪个函数,函数的返回类型不关心。而重写是子类中实例化virtual修饰定义的函数,只有函数体不同,其他完全一样。如果往深入点,可以聊一聊C++经典特性多态特征,然后描述一下指针内存,虚表这些。

        重载的英文是overload,很多刚出道的少年不会用重载,项目里只需实现一个方法,取名非常容易,但是如果几十个同思想的方法呢,代码要优雅,取名又费劲,所以重载是最好的办法,而且review代码又是最快最好熟悉的。

       重写的英文是override,如果说C++的经典特性是继承,封装,多态。那么重写就把这个思想体现得淋漓尽致。你看设计模式,看Github上的第三方库,到处都是stat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToF君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值