- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南京航空航天大学 课 程 设 计 课程名称 题目名称 学生学院 2014 年1月日 摘要 本实验报告主要关键字: 目 录 1实验设计目的及要求 3 1.1课题要求 3 1.2设计目的 3 2 3 2.1抽象类不能使用的情形 4 2.2抽象类能够使用的情形 4 3 虚拟函数 7 4 双向调用技术 13 4.1正向调用 13 4.2反向调用 14 4.2.1框架中的类调用同体系的子类 14 4.2.2跨体系的反向调用 17 4.3预设函数 19 5构造函数与反向调用技术 23 6总结 25 7参考文献 26 1实验设计目的及要求 1.1课题要求 课本P69(ex04-01.h); P70~72((4);(5);(6);(7) 中的程序); P73的VIP类、main函数;P74~75; P84~85(两个程序); P86(上半部分的程序); P90下半部分的程序,P91上半部分。 1.2设计目的 定义的类及类间关系虚拟函数、抽象类、反向调用技术的应用情况抽象类派生指针的应用情况构造函数与反向调用 2 抽象类 抽象类为包含纯虚函数的类,抽象类往往是为了实现面向对象中多态的概念,它有许多限制不能使用的情形与可以使用的情形。本章节一下主要讨论抽象类的应用情况和限制情况。本章节使用的程序背景参见Person.h文件(如下代码1所示),类间关系如图1所示。 class Person { protected: char name[20]; public: void SetName(char *na) { strcpy(name,na); } virtual void Display()=0; }; class Customer:public Person { public : virtual void Display() { coutCustomer:nameendl; } }; 代码1 2.1抽象类不能使用的情形: 根据不同程序背景对各种情形进行测试: 1)不能做自变量的类型(参数类型),使用实例如void Disp(Person x);之后使用的时候又是Person x;Disp(x); 2)不能创建对象,使用实例如Person x; 3)不能成为函数的返回类型,使用实例如Person Disp(); 4)不能用来转换对象,使用实力如Customer cust;((Person)cust).SetName(cyf); 2.2抽象类能够使用的情形 1)测试抽象类指针可以用来指向之类对象 在代码1上添加如下代码进行实现,具体代码参见P69_4程序 Customer cust; cust.SetName(cyf); Person *p=cust; p-Display(); 由于Display为虚函数,所以p虽然是抽象类指针,仍然能调用子类Customer的Display()函数,从上述程序结果可以得之抽象类指针可以指向子类的对象,但具体是否调用子类覆盖过的函数代码还需要根据具体的情形讨论。讨论参见第7点抽象类指针的应用情况分析。 2)测试抽象类指针可以当成函数的自变量 在代码1上添加如下代码进行实现,具体代码参见P69_5程序 void Set(Person *p) { p-SetName(Amy); } int main() { Customer cust; cust.SetName(Linda); Set(cust); cust.Display(); return 0; } Set(cust); cust.Display(); Set函数传递的是子类Customer的指针,Set函数中对指针指向的数据成员进行了新的赋值,且这种改变时持久性的,故主函数仍然调用Display(),其数据成员的值已经改变了。从上述程序结果可以得之指针可以当做函数的自变量 3)函数可以回传抽象类的指针 在代码1上添加如下代码进行实现,具体代码参见P69_6程序 Person *sub() { Customer *pc=new Customer(); pc-SetName(Tom); return (Person*)pc; } int main() { Person *p=sub(); p-
您可能关注的文档
- [财务管理与分析]考试卷A.doc
- ZG2协议-板式换热器技术协议(签字版).doc
- XXX二手车交易市场提供公车改革展示场地的申请.doc
- YUY-523机械装调与控制技术实训装置.docx
- §5-2人生价值与劳动奉献.doc
- “MBTI性格类型测试问卷”及“职业性格解码”.doc
- “三师共管”分级诊疗模式的路径示意图.docx
- “叙事体新材料任务驱动型作文”~.doc
- “富硒木耳”论文.doc
- “十三五”规划总体思路的解读100分试卷.doc
- 【2014-2015学年高中数学(北师大版,必修三)课时作业第一章统计§5§6.doc
- 【必修】《公益劳动指导和实践》.docx
- 【优化设计】2016年高考化学二轮复习专题二非选择题专项训练一工艺流程题.doc
- 【数列通项公式与求和方法.doc
- 【精心整理】2011年《建设工程经济》考试真题及答案解析(附必威体育精装版版页码).doc
- 【精品练习】人教版高中数学必修3综合测试卷A(含答案).doc
- 【人教版】地理必修一11《宇宙中的地球》导学案(含答案).doc
- 【模块一大气】第9讲锋面系统与天气.doc
- 【整合】【期末总动员】人教版《道德与法治》七年级上册-第三单元师长情谊复习提纲.doc
- 一二年级奥数知识点及分类试题.doc
最近下载
- 【真题】河南省2025年对口升学语文考试真题 完整版2025.pdf VIP
- 《中小学教辅材料管理办法》培训与解读课件.pptx VIP
- 2025-2026学年苏科版(2023)初中信息科技八年级上册教学计划及进度表.docx
- 2026中国银行秋季校园招聘笔试参考题库附答案解析.docx VIP
- 电力物联网与AI大模型协同发展.pptx VIP
- 六年级英语动词过去式词汇表.docx VIP
- 医学课件-风湿病的药物应用.pptx VIP
- 2025-2026学年苏科版(2023)初中信息科技七年级上册教学计划及进度表.docx
- 海豚介绍课件PPT.pptx VIP
- 金融创新大赛作品pdf.docx VIP
文档评论(0)