C++类的函数重载和函数重写探究

本文详细介绍了C++中的函数三要素,并对比了函数重载与重写的概念及应用场景。阐述了函数重载如何通过参数差异来区分同名函数,而函数重写则强调在继承关系中实现相同签名函数的不同行为。此外,还探讨了多态的实现条件。

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

1.首先介绍函数三要素,函数重载,函数重写的概念

 .   函数三要素:函数名,返回类型,函数参数。

 .   函数重载:两个函数的函数名相同,函数参数不同,函数体不同。

.    函数重写:函数名,返回类型,函数参数都必须相同,但函数体可以实现不同功能。

 

2.C++类的函数重载

1)必须在同一个类中进行;

2)子类无法重载父类的函数,父类同名函数将被名称覆盖;

3)重载是在编译期间根据参数类型和个数决定函数调用。

 

3.C++类的函数重写

1)必须发生于父类与子类之间;

2)并且父类与子类中的函数必须有完全相同的原型;

3)函数重写又分为虚函数重写和重定义:

     1)虚函数重写:使用virtual声明的函数重写,之后能够产生多态(动态链编);

     2)重定义:没有virtual关键字的函数重写叫作重定义(静态链编)。

 

4.多态是在运行期间根据具体对象的类型决定函数调用的一种机制,多态成立的三个条件:

1有继承;

2)有virtual(虚函数)重写;

3)有父类指针(引用)指向子类对象。

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值