C++多态性与函数重载机制.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

❖多态性是面向对象程序设计的重要特征之一。所

谓多态性是指当不同的对象收到相同的消息时,

产生不同的动作。C++的多态性具体体现在运

行和编译两个方面,在程序运行时的多态性通过

继承和虚函数来体现,而在程序编译时多态性体

现在函数和运算符的重载上。

❖在C++语言中,只有在函数原型时形式参

数的个数或者对应位置的类型不同,两个或

的函数就可以共用一个名字。这种在同一作用域

中允许多个函数使用同一函数名的措施被称为重

载(overloading)。函数重载是C++程序获

得多态性的途径之一。

❖函数重载要求编译器能够唯一地确定调用一个函

数时应执行哪个函数代码,既采用哪个函数实现。

确定函数实现时,要求从函数参数的个数和类型

上来区分。这就是说,进行函数重载时,要求同

名函数在参数个数上不同,或者参数类型不同。

否则,将无法实现函数重载。

给出以下程序的运行结果:

#includeiostream.h

intsquare(intx)

{

returnx*x;

}

doublesquare(doubley)

{

此程序的运行结果为:

returny*y;

}Thesquareofinteger7is49

main()Thesquareofinteger7.5is56.25

{

cout”Thesquareofinteger7is”square(7)endl;

cout”Thesquareofdouble7.5is”square(7.5)endl;

return0;

}

用重载函数实现求圆和矩形的周长:

#includeiostream.hvoidmain()

constdoublePI=3.1415;{

doublelength(floatr)floata,b,r;

cout”输入圆半径:”;

{

return2*PI*r;cinr;

}cout”圆周长:”length(r)endl;

doublelength(floatx,floaty)cout”输入矩形长和宽:”;

{cinab;

return2*(x+y);cout”矩形周长:”length(r)endl;

}}

❖普通成员函数重载可表达为两种形式:

❖在一个类说明中重载

例如:Show(int,char);

Show(char*,float);

❖基类的成员函数在派生类重载。有3种编译区分

方法

▪根据参数的特征加以区分

例如:Show(int,char)与

Show(char*,float)

不是同一函数,编译能够区分

▪使用“::”加以区分

例如:A::Show()

有别于B::Show()

▪根据类对象加以区分

例如:Aobj.Show()调用A::Show()

Bobj.Show()调用B::Show()

❖在C++语言中,编译程序选择相应的重载函数

版本时函数返回值类型是不起作用的。不能仅靠

函数的返回值来区别重载函数,必须从形式参数

上区别开来。例如:

voidprint(inta);

voidprint(inta,intb);

intprint(floata[]);

❖这三个函数是重载函数,

文档评论(0)

wx5620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档