- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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[]);
❖这三个函数是重载函数,
您可能关注的文档
最近下载
- Bose博士SoundTouch 300 Soundbar 扬声器说明书.pdf
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 具身智能的基础知识(68页 PPT).pptx
- 贵州医科大学2024-2025学年第2学期《生物化学》期末考试试卷(B卷)附参考答案.docx
- 仪表桥架及保护管安装培训2(2021-03).pptx VIP
- 电气控制及PLC技术期末试卷.docx
- 贵州医科大学2024-2025学年第2学期《生物化学》期末考试试卷(A卷)附参考答案.docx
- 电气安装工艺培训 全套课件.ppt
- 临床吞咽障碍患者经口饮食规范化指导.pptx
- 涂料行业清洁生产审核报告.doc VIP
原创力文档


文档评论(0)