【面试题】【C++】简述一下 C++ 的重载和重写?

文章介绍了函数重载和重写的基本概念。重载允许在同一作用域内有多个同名函数,通过不同的参数列表来区分。而重写发生在继承关系中,子类对基类的虚函数进行新的实现,实现动态多态性。

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

1. 什么是重载?

   重载是指不同的函数使用相同的函数名,但是函数的参数个数或者类型不同(参数列表不同)。调用的时候根据函数的参数来区别不同的函数,函数重载和返回值无关。

2. 如何实现重载?

    i) 函数名相同
    ii) 必须具有不同的参数列表
    iii) 可以有不同的访问修饰符

3. 为什么要重载?

    因为重载可以实现函数名相同,但是功能不一样,就是所谓的静态多态。重载是多个函数或者同一个类中方法之间的关系,是平行关系。

4. 什么是重写?

  重写也叫覆盖,是指在派生类中重新对基类中的虚函数进行实现。即函数名和参数都一样,只是函数的实现方式不一样,

5. 如何实现重写?

   i) 方法声明必须完全与父类中被重写的方法相同
   ii) 访问修饰符的权限要大于或者等于被重写的方法的访问修饰符
   iii) 子类重写的方法可以加 virtual,也可以不加。

6. 为什么要重写?

   重写可以用来实现动态多态,根据调用方法的对象的类型来执行不同的函数。重写是父类和子类之间的关系,是垂直关系。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值