


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、附件三:教材模板说明:一、为便于保存和管理,各类培训教材均采用合订本。二、教材结构: 各类培训教材由教材封面、前言、课程目录、单门课程教材和封底五部分构成。三、教材封面:1、封面颜色:教材封面为彩色,工作基本常识教材为深蓝色,技术基础知识教材 为草绿色,管理基础知识教材为浅蓝色,营销基础知识教材为墨绿色。2、教材名称:采用“工作基本常识”“技术基础知识”“管理基础知识”“营销 基础知识”,字体为隶书,黑体, 60号。3、其他标识:员工培训中心编辑采用宋体、黑体、三号,位于教材名称下面;华 为技术有限公司采用宋体、 黑体、小二,位于底端; 华为标识位于华为技术有限公 司和员工培训中心编辑之间;右
2、上角为保密标识,楷体,黑体,四号。四、教材封底:教材封底包括教材名称、 华为技术有限公司员工培训中心和时间、 版本号, 位于页 面的右下角。五、前言:教材前言为各类培训的目的、课程门类、特点、主要内容的简介。六、课程目录:为各门课程排列顺序的目录,统一编排页码,便于学员查找。七、单门课程教材: 各单门课程教材由课程封面、章节目录、章节内容、学习要求、思考题、参考资料 和相关网站组成。1、课程封面:课程封面为彩色,课程名称为隶书、 60号、黑体、黑色,左上角为课程编码。2、章节目录:为宋体、小四、黑色3、章节内容:(1)标题:章节目分别以“第一章、 第二章、第三章”“1.1 、1.2 、1.3
3、”和“(1)(2)(3)”来表示。章为宋体、小二、黑体,节为宋体、四号、黑体,目为宋体、 小四、黑体。(2)文字:每四个小时的培训课程, 字数控制在 10000 20000字之间。教材文 字一般为宋体、小四、黑色,行间距为一行半。(3)内容:章节内容要有完整的理论体系,不能成为授课胶片的翻版。4、学习要求:每章标题下面为本章的学习要求,以明确本章要掌握的要点。文字为楷体、小四。5、思考题:每章最后要有思考题,以便帮助学员复习、思考。6、参考资料和相关网站:有参考资料和相关网站的要附在课程后面,以便帮助学员查阅。内部资料,注意保密C+中级培训教员工培训中心编辑2005年 6月 V1.0华为技术华
4、为技术有限公司C+ 语言中级教材讲授C+语言的运用技术,包括:类、对象之间 的关系、对象的存储与布局、运算符重载、智能指针、仿函数、泛型编程, C+模式设计基本思想。NE002009cV1.0业务与软件C+语言项目第一章类、接口 71.1 H an dle-Body 与接口、抽象接口 71.2 多继承、与菱形缺陷、this跳转等131.3 C+ 多态的两种多态形式和区别 18第二章 重载 182.1 函数重载 192.2 运算符重载 20第三章 模板 293.1 模块函数 293.2 模块类 313.3 STL标准模板库 34附录:参考资料 39前言我们在 C+ 基础课程中已经了解了 C+ 的
5、一些基本概念,知道了什么是类什么是对象。 也了解了继承、 封装、多态等 C+ 面向对象的基本特征, 本课程主要是更进一步探讨一下 C+ 一些基本模型的应用,加深对概念的理解,由于课程时间有限, C+ ,模型和内容又如此之 多,对任何一个模型都无法深入进去,所以只能泛泛而谈。学习要求:1、了解类的继承、封装等概念之间的关系2、了解什么是接口,什么是虚函数,它有什么样的特点。学会使用接口编程的思想本章节主要介绍C+中的类、接口。类,包涵了一组数据和一组基于数据上的一组方法。它描述了一个对象的属性、状态和行为;接口,它只是描述了一 个对象的简单的行为。有关类的基本概念:Class namesClas
6、s membersMember FunctionsStatic Member FunctionsUnionsC+ Bit FieldsNested Class DeclarationsType Names in Class ScopeMultiple Base ClassesVirtual FunctionsAbstract ClassesControlling Access to Class Membersprivate Membersprotected Memberspublic MembersAccess Specifiers for Base Classe,s priavte,publ
7、ic 、 protectedFriendsConstructorsDestructorsConversion Functionsthe new operator and the delete operatorCopying Constructor FunctionsInterface1.1 Handle-Body 与接口、抽象接口在C+中封装的概念是把一个对象的外观接口同实际工作方式(实现)分离 开来,但是C+的封装是不完全的,编译器必须知道一个对象的所有部分的声明, 以便创建和管理它。我们可以想象一种只需声明一个对象的公共接口部分的编程 语言,而将私有的实现部分隐藏起来。 C + +在编译期
8、间要尽可能多地做静态类 型检查。这意味着尽早捕获错误, 也意味着程序具有更高的效率。 然而这对私有 的实现部分来说带来两个影响: 一是即使程序员不能轻易地访问实现部分, 但他 可以看到它;二是造成一些不必要的重复编译。然而C+并没有将这个原则应用到二进制层次上,这是因为C+的类既是描述了一个接口同时也描述了实现的过程 ,示例如下:class CMyStringprivate:const int m_cch;char *m_psz;public:CMyString(const char *psz);CMyString();int Length() const;int Index(const ch
9、ar *psz) const; CMyStirng对外过多的暴露了内存布局实现的细节,这些信息过度的依赖于这些 成员变量的大小和顺序, 从而导致了客户过度依赖于可执行代码之间的二进制耦 合关系,这样的接口不利于跨语言跨平台的软件开发和移植。1.1.1 Handle-Body 模式解决这个问题的技术有时叫句柄类 ( handle classes )或叫“ Cheshi re Cat” 1 。有关实现的任何东西都消失了,只剩一个单一的指针“ m_pThis ”。该指 针指向一个结构, 该结构的定义与其所有的成员函数的定义一样出现在实现文件 中。这样,只要接口部分不改变,头文件就不需变动。而实现部分
10、可以按需要任 意更动,完成后只要对实现文件进行重新编译,然后再连接到华为项目中。这里有这项技术的简单例子。 头文件中只包含公共的接口和一个简单的没有 完全指定的类指针。class CMyStringHandleprivate:classCMyString ;CMyString *m_pThis;public:CMyStringHandle (const char *psz); CMyStringHandle ();int Length() const;int Index(const char *psz) const;;CMyStringHandle: CMyStringHandle(const
11、 char *psz):m_pThis(new CMyString(psz);CMyStringHandle: CMyStringHandle()delete m_pThis;int CMyStringHandle:Length()return m_pThis-Length();int CMyStringHandle:Index(const char *psz)return m_pThis-Index(psz); 这是所有客户程序员都能看到的。这行class CMyString ; 是一个没有完全指定的类型说明或类声明 (一个类的定义包含类的主体) 。它告 诉编译器, cheshire 是一个
12、结构的名字,但没有提供有关该结构的任何东西。 这对产生一个指向结构的指针来说已经足够了。 但我们在提供一个结构的主体部 分之前不能创建一个对象。 在这种技术里, 包含具体实现的结构主体被隐藏在实 现文件中。在设计模式中,这就叫做 Handle-Body 模式, Handle-Body 只含有一个实 体指针,服务的数据成员永远被封闭在服务系统中。Han dle-Body模式如下:cassHandlem_pThis丿class图1 Handle-Body模式(句柄类做为接口)Han dle-Body的布局结构永远不会随着实现类数据成员的加入或者删除或者修改 而导致Handle-Body的修改,即H
13、andle-Body协议不依赖于C+实现类的任何细节 这就有效的对用户的编译器隐藏了这些斜街,用户在使用对这项技术时候,Handle-Body接口成了它唯一的入口。然而Handle-Body模式也有自己的弱点:1、接口类必须把每一个方法调用显示的传递给实现类,这在一个只有一 个构造和一个析构的类来说显然不构成负担,但是如果一个庞大的类 库,它有上百上千个方法时候,光是编写这些方法传递就有可能非常 冗长,这也增加了出错的可能性。2、对于关注于性能的应用每一个方法都得有两层的函数调用,嵌套的开 销也不理想3、由于句柄的存在依然存在编译连接器兼容性问题。接口和实现分离的Handle-Body。抽象接口使用了 “接口与实现的分离”技术的Handle-Body解决了编译器/链接器 的大部分问题,而C+面向对象编程中的抽象接口同样是运用了“接口与实现分 离”的思想,而采用抽象接口对于解决这类问题是一个极其完美的解决方案。1、抽象接口的语言描述:class IMyStri ngvirtual int Len gth(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年辽源市龙山区数学三年级第一学期期末达标检测试题含解析
- 2025-2026学年甘肃省庆阳市环县三年级数学第一学期期末复习检测模拟试题含解析
- 2025-2026学年抚州市崇仁县三上数学期末试题含解析
- 2025-2026学年福建省泉州市南安市三上数学期末学业质量监测模拟试题含解析
- 2024年黄冈市罗田县数学三年级第一学期期末联考试题含解析
- 护理学的创新实践执业医师考试试题及答案
- 卫生资格考试难点突破试题及答案
- 医学与人际关系的试题及答案
- 对比分析卫生资格考试的变化试题及答案
- 系统化学习的行政法学试题及答案
- 医疗护理医学培训 留置针的固定及维护课件
- 甘肃开放大学2024年《信息技术与信息管理》形考作业1-4
- 《寻常型银屑病中西医结合诊疗指南》
- 2025年国家电投所属国核铀业招聘笔试参考题库含答案解析
- 区间估计教学课件
- 五年级下册 教科版 科学 第三单元《让资源再生》课件
- 2024年武汉市第二中西医结合医院武汉六七二医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 耳鼻喉技师模拟试题(附参考答案)
- 废旧再生资源加工利用企业安全生产双体系培训资料
- 2024年河南省中职对口升学高考语文试题真题(解析版)
- 水利专业技术岗位竞聘演讲稿
评论
0/150
提交评论