`
yangyou230
  • 浏览: 1645014 次
文章分类
社区版块
存档分类

什么是函数重载?什么是多态?C++如何实现多态?

 
阅读更多

函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。

函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,将无法实现重载。例如,可以给函数名add()定义多个函数实现,该函数的功能是求和,即求两个操作数的和。其中,一个函数实现是求两个int型数之和,另一个实现是求两个浮点型数之和,再一个实现是求两个复数的和。

多态(Polymorphism)按字面意思是“多种状态”,在面向对象语言中,接口的多种不同的实现方式即为多态。C++中通过虚函数实现多态。

虚函数的本质就是通过基类访问派生类定义的函数。虚函数只能借助于指针或者引用来达到多态的效果。

多态性。是允许将父对象设置成为和一个或多个它的子对象相等的技术,如Parent:=Child,多态性使得能够利用同一类(基类)类型的指针来引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作。C++中对多态更容易理解为:允许父类指针或名称来引用子类对象或对象方法,而实际调用的方法为对象的类类型方法。

多态的作用主要是两个:1. 隐藏实现细节,使得代码能够模块化;扩展代码模块,实现代码重用;2. 接口重用:为了类在继承和派生的时候,保证使用家族中任一类的实例的某一属性时的正确调用

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics