- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C电子教案第5章
第五章 多态性 以面向对象的观点看: 所谓多态性就是不同对象收到相同的消息时,产生不同的动作。 例如; 1.在日常生活中: 汽车 行为1 挪开 同一消息 凳子 行为2 简单地说: 多态性是指用一个名字定义不同的函数。 在C++中,允许两个或者两个以上的函数共用一个函数名。例如: square(int i); //求整数的平方数 square(float f); //求浮点数的平方数 square(double d);//求双精度数的平方数 。 5.1.编译时的多态性与运行时的多态性 1.静态联编与编译时的多态性 ①静态联编----在运行之前就完成的联编叫静态联编,又叫前期联编; ②编译时多态性----静态联编支持的多态性称为编译时多态性,也称静态多态性。 ③在C++中,编译时多态性是通过函数重载和运算符重载实现的。 2.动态联编与运行时的多态性 ①动态联编----在程序运行时才完成的联编叫动态联编,也称后期联编。 ②动态多态性----动态联编所支持的多态性称为运行时多态性,也称动态多态性。 ③在C++中,运行时多态性是通过继承和虚函数来实现的。 5.2 函数重载 编译时的多态性可以通过函数重载来实现。 函数重载的意义在于它能用同一个名字访问一组相关的函数,因而有助于解决程序的复杂性问题。 普通函数可以重载 成员函数可以重载 构造函数可以重载 例5.1 基类和派生类中函数重载的例子 ** 5.3 运算符重载 运算符重载通过创建运算符函数来实现的。 · 类外的运算符函数 · 友元运算符函数 · 成员运算符函数 5.3.1 类外的运算符函数 若有一个复数类complex: class complex { public: double real,imag; complex(double r=0,double i=0) { real=r; imag=i;} }; 若要把类complex的两个对象com1和com2加在一起: main() { complex com1(1.1,2.2),com2(3.3,4.4); complex total; total = com1 + com2; //错误 //… return 0; } 不能实现的原因是complex类类型不是基本数据类型,而是用户自定义的数据类型。 所以: C++无法直接将两个complex类对象相加。 即无法直接实现: total=com1+com2 解决方法: 编写一个运算符函数,对运算符“+”号进行重载,使其可以对两个complex对象进行“+”法运算。 C++规定运算符函数的名字为: operator@ @--要重载的运算符 例如,重载“+”号的运算符函数,应该写成: operator+(参数表) 表5.1 运算符重载函数 函 数 功 能 operator+() 加法 operator-() 减法 operator*() 乘法 operator/() 除法 operator() 小于 … … 因此,若要将类complex的两个对象相加,只要编写一个运算符函数operator+( ): complex operator+(complex co1, complex co2) { complex temp; temp.real=co1.real+co2.real; temp.imag=co1.imag+co2.imag; return temp; } 我们就能方便地使用语句:
您可能关注的文档
最近下载
- 部编六年级下册第11课《十六年前的回忆》一等奖教学设计说课稿.docx VIP
- GB_T 39637-2020 金属和合金的腐蚀 土壤环境腐蚀性分类.pdf
- 聚硼硅氮烷合成、掺杂及SiBCN陶瓷应用研究.docx VIP
- 影像技术在麻醉科中的应用.pptx VIP
- 建筑工程图集 15J401:钢梯.pdf VIP
- 电信xx公司计算机系统应急预案演练方案_综合业务支撑系统(IBSS-CRM)_V02.docx VIP
- 尼康NIKON-AF-S 24-70mm f2,8D G维修操作手册.pdf
- 2024年中考物理专项复习:内能、内能的利用.pdf VIP
- 耳内镜微创外科技术PPT幻灯片.pptx VIP
- 肯尼亚市场行业分析.pptx VIP
文档评论(0)