- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10. 多态类和抽象类.ppt
第10章 多态类与抽象类 10.1 虚函数与多态类 例10.1 多态类与虚函数访问 2 动态绑定及其实现技术 例10.2???非多态类与重定义函数的调用 例10.3??多态点类定义及测试 有无虚函数时对象内存映象对比 虚函数动态绑定的调用步骤 虚函数调用的汇编语言代码 虚函数与消息调用 虚函数应用举例 例10.4 利用虚函数求平面图形的面积1 例10.4 利用虚函数求平面图形的面积2 例10.4 利用虚函数求平面图形的面积3 虚函数应用举例 例10.5 多态(异质)链表实现。1 例10.5 多态(异质)链表实现。2 例10.5 多态(异质)链表实现。3 例10.5 多态(异质)链表实现。4 例10.5 多态(异质)链表实现。5 例10.5 多态(异质)链表实现。6 例10.5 多态(异质)链表实现。7 例10.5 多态(异质)链表实现。8 例10.5 多态(异质)链表实现。 9 10.2 纯虚函数与抽象类 纯虚函数的实现 2 抽象类的概念和定义 例10.6 用抽象类实现的菜单程序1 例10.6 用抽象类实现的菜单程序2 例10.6 用抽象类实现的菜单程序3 小结: 从语法上看,抽象类是一种特殊的多态类,具有动态的多态性。 比起多态类来,它更侧重于表达类的抽象层次。抽象类和它的实现类的关系虽然也是一种继承关系,但这种继承与第8章讲的继承有一种质的区别。非抽象类的继承着眼点在于代码重用,称为类继承,抽象类的继承着眼点在于为一组具有某些共性的具体类提供统一的访问接口,称为接口继承。接口继承的目的是为复杂对象提供构造基础。 学习动物精神 11、机智应变的猴子:工作的流程有时往往是一成不变的,新人的优势在于不了解既有的做法,而能创造出新的创意与点子。一味 地接受工作的交付, 只能学到工作方法 的皮毛,能思考应 变的人,才会学到 方法的精髓。 学习动物精神 12、善解人意的海豚:常常问自己:我是主管该怎么办才能有助于更好的处理事情的方法。在工作上善解人意, 会减轻主管、共 事者的负担,也 让你更具人缘。 * * 在一个类中用关键字virtual 说明的成员函数称为虚函数。定义了虚函数的类称为多态类。纯虚函数原型语句格式如下: virtual 类型 函数名(参数表); 在基类中某个成员函数被声明为虚函数后,这个成员函数通常要在派生类中被重新定义。定义一个虚函数的目的是为了在程序运行时自动选择各派生类中的重定义版本,所以一个多态的基类一定要定义一个以上的派生类才有意义。 在派生类中重新定义虚函数时,其函数原型(包括返回值类型、函数名、参数个数、参数类型及顺序)必须与基类中的原型完全相同。否则编译时会出错或被当作函数重载处理。 一个指向基类的指针可以指向它的公有继承的派生类。定义虚函数的目的就是想统一用一个基类对象指针去访问不同派生类中虚函数的重定义代码。 1 虚函数的概念和定义 #includeiostream.h class Poultry { public: virtual void can_fly () //虚函数定义 { coutYes! I can.endl; } }; class Cock : public Poultry{ public: void can_fly () //虚函数重定义 { coutYes!
文档评论(0)