- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
准备知识:
⑴命名空间(namespace)
一个软件往往由多个模块组成,其中会包括由不同程序员开发的组件以及类库提供的组件,因此,在对标识符命名时有可能发生冲突。
一个命名空间将不同的标识符集合在一个命名的作用域内,以防止命名冲突。比如以如下形式声明一个命名空间s:
namespace s{
class A{ };
void fun();
}
则引用标识符的方式如下:
s::A a;
s::fun();
即在标识符前加命名空间名称及“::”的前缀。
E1_1
如果使用声明:using namespace 已命名的命名空间名称;
比如:using namespace s;
该命令用来打开命名空间的限制,则该命名空间中所有的标识符在当前作用域中都可以直接使用,不需要任何前缀。
E1_2
在C++标准程序库中,使用了命名空间std,所有标识符都声明在命名空间std中。在使用C++标准程序库中的任何标识符时,可以直接指定标识符所属的命名空间,例如:std::cout,也可以使用using命令来打开命名空间的限制。
C++标准程序库中中的头文件不再有“.h”的扩展名,因此,在程序开始处使用#includeiostream、#includecstdio、#includecstring等包含命令时,可以使用using namespace std;命令打开命名空间的限制。
E1_3
在Visual C++ 6.0编译环境中要使用一系列的I/O流类,就应该包含头文件iostream。
⑵对象:现实世界中的一切事物都是对象,对象可以是有形的,比如一间房间,一本书籍;也可以是无形的,比如一个计划。对象可以是一个简单的个体,比如一个学生;也可以是由其它对象组合而成,比如一个公司有多个部门,每个部门又由许多员工组成。
对类似的对象进行抽象,找出共同的属性就可以构成一种类形。
作为面向对象的程序设计语言,C++支持“抽象”。将抽象后的数据和函数“封装”在一起,就构成了C++的“类”。
⑶在面向过程的结构化程序设计中,程序的模块是由函数构成的。函数将逻辑上相关的语句和数据封装,用于完成特定的功能。
在面向对象的程序设计中,程序的模块是由类构成的。类是对逻辑上相关的函数和数据的封装,是对问题的抽象描述。即将抽象得到的数据和函数有机的结合成一个整体,形成“类”。其中的数据和函数都是类的成员。
类实际上相当于一种用户自定义的类型,在定义一个类时要说明其数据和操作内容。
类的特性:封装、继承和多态。
类的定义:
class 类名称标识符{
成员列表:包括数据成员和成员函数的定义及存取控制类别。
};
类成员函数的实现
其中:
成员列表:数据成员(属性),成员函数(行为方法)。
成员的存取控制类别:
private:除了友元函数外,类的外界(对象)不能直接访问该类别成员,只有类定义中的成员函数或数据成员可以访问该类别成员。在类定义中private:若紧接著类名称,该关键字可以省略。
※很好的体现了类的封装特性。
public:类的外界(对象)可以直接访问该类别成员,并且可以通过该类别成员访问private类别的类成员。
※定义了类的外部接口。
protected:在涉及类继承时使用。
※类成员的存取控制类别定义没有先后顺序。
作用域说明符::: 用于说明类成员的归属。
比如:类定义中的成员函数的定义在类定义中完成,而成员函数的实现通常是在类定义外完成的。所以,要使用作用域说明符来说明成员函数归属于那一个类。当然,类定义中的成员函数的实现也可以在类定义中完成,但是,这样的函数通常只包含简单的顺序结构的语句(见内联函数)。
类的使用:定义类的对象(类的对象是类定义的实例)。
类对象的建立(分配存储空间)需要构造,释放内存空间需要析构。
构造函数:在创建对象时,利用特定值将对象初始化为一个特定的状态。
构造函数在对象被创建时被自动调用,没有函数返回值。
在类的public成员中可以定义有多个参数数量及参数类型不同的构造函数,函数名称即为类的名称。
YSC1-1、YSC1-2
构造函数执行步骤:
⑴按照初始化列表为相应属性赋初值,如果成员为对象,按照给定的初始值执行该对象的构造函数。
⑵执行构造函数的函数体语句。
YSC1-3、YSC1-4
※若在类的定义中没有定义构造函数,C++编译器将自动产生缺省的构造函数。该函数无参,也不做任何实质性的工作。因为在对象被创建时自动调用构造函数是“例行公事”。
析构函数:用于完成对象生存期结束前的一些清理工作。函数调用结束,对象在内存中所占内存空间被释放。
析构函数在对象的生存期即将结束时被自
您可能关注的文档
- 台湾HIWIN导轨的型号和应用情况.pdf
- 数据库实验题目与答案.docx
- C 名家对话_21_模板特化,缺省参数与其他一些有趣的事情.doc
- SAN与NAS的区别.doc
- Toolchain及官方iPhone SDK的比较.doc
- 面向新手的AVR开发工具和基本知识_中文.pdf
- 改变分割窗口拖动条大小.doc
- C++ stringstream介绍,使用方法及例子.doc
- 检索文献常用网站和搜索方法.doc
- 第7篇 串行口.ppt
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 骨科手术患者围手术期VTE风险评估及预防.ppt VIP
- 一年级上册识字1 识字闯关游戏 课件(共24张PPT).pptx VIP
- 电力工程勘测方案设计(3篇).docx VIP
- %227中央空调通风与空调工程清单估算(成本估算).xlsx VIP
- 钢结构焊接施工方案(最终版) .pdf VIP
- 写字楼物业管理与租金收益.docx VIP
- 2024年巴东县选调县外在职在编教师真题.docx VIP
- 医疗器械企业质量手册.doc VIP
- XX乡政府关于推荐XXX同志评选高级农艺师材料.pdf VIP
- Souvenirs d'enfance童年的回忆-钢琴谱 原调简谱 高清正版完整版双手简谱.pdf
文档评论(0)