- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
封装性及其好处 所谓封装,在面向对象程序设计中的含义就是包含和隐藏对象信息,如内部数据结构和代码的能力。 在C++中封装是通过类来实现的,即将内部的数据和代码声明为私有的,外界不能直接访问。 封装将操作对象的内部复杂性与应用程序的其他部分隔离开来。 换句话说,应用类对象的程序员不需要知道类内部的实现细节就可以使用该类。这是面向对象程序设计降低复杂性的最主要途径。 2.1.6 类声明与类定义 类定义包含两部分:类头和类体,类体由一对花括号包围起来。一旦到了类体的结尾,即结束右边的花括号,这时就定义了一个类 。 一旦定义了一个类,则该类的所有成员就都是已知的,类的大小也是已知的了。 类声明 由于历史的原因,类的定义(class definition)也称为类的声明(declaration)。 但是准确地说,一旦给出了类头,就声明了一个类。我们可以声明一个类但是不定义它。 例如: class Date;// Date类的声明 这个声明向程序引入了一个名字Date,指示Date为一个类类型。 类声明(续) 如果还没有定义类,那么我们就不能定义这类类型的对象 但是,我们可以声明指向这种类型对象的指针或者引用。 class Date; // Date类的声明 Date pd, rd; // 声明了指向Date类对象的指针pd和引用rd 2.1.7 结构struct与类class的比较 结构和类的唯一区别是: 在缺省情况下结构内数据成员和成员函数是公有的public,而类中的数据成员和成员函数是私有的private。 可以说C++中的结构是一种特殊的类。 类(或者结构)的私有成员只能被该类(或者结构)的成员函数访问,这是C++实现封装的一种方法。 §2.2 构造函数和析构函数 2.2.1 构造函数 2.2.2 析构函数 2.2.3 重载构造函数 2.2.4 组合类和对象成员的初始化 2.2.1 构造函数 constructor 构造函数是类的一种特殊成员函数,用来为对象进行初始化 。 构造函数的函数名与类名相同。 构造函数的例子1 class Date { int day, month, year; Date(int dd, int mm, int yy) ; / / constructor }; //构造函数名与类名相同 void Date::Date(int dd, int mm, int yy) { day = dd; month = mm; year = yy; } 用来为对象进行初始化 。 构造函数的例子2 class Student{ private: int number; char name[15]; float score; public: Student(int number1,char *name1,float score1); void modify(float score1) { score=score1; } void print( ); }; 构造函数的声明 构造函数的例子2 //构造函数的定义 Student::Student (int number1,char *name1,float score1) { number=number1; strcpy(name,name1); score=score1; } 构造函数(续) 构造函数可以有任一类型的参数,但不能具有返回类型。 当定义一个对象时,系统自动调用构造函数进行初始化。 构造函数与其它函数一样可以重载也可以有缺省参数。 在对象生成的时候自动执行初始化,这会消除任何错误地不执行初始化的可能。 这是C++面向对象程序设计帮助减少复杂性的另一途径。 有缺省参数的构造函数 class complex{ private: double real; double image; public: void complex(double r=0.0,double i=0.0) { real=r; image=i; } double realcomplex() { return real; } …; }; 缺省参数 2.2.2 析构函数 析构函数的作用与构造函数正好相反,当对象被删除时,利用析构函数进行一些善后处理。 一般情况下析构函数执行构造函数的逆操作,例如可以利用析构函数来释放构造函数所动态申请的内存空间。 析构函数的名称与其类名称相同,并在名称的前边加~(键盘上的波浪符号)符号。 一个类中只能有一个析构函数。(不能重载) 析构函数不允许有返回值,并且析构函数不允许带参数。参见【例2.7】 。 构造函数和析构函数的例子 //构造函数的定义 Student::S
您可能关注的文档
- 高考复习二轮冲刺化学课件2基本理论3晶体结构1课件幻灯片.ppt
- COE培训课件6.诺适得治疗wAMD的标准操作流程幻灯片.ppt
- 高考复习二轮冲刺化学课件2基本理论3晶体结构2课件幻灯片.ppt
- COE培训课件81.ETDRS视力表在中国幻灯片.ppt
- 高考复习二轮冲刺化学课件2基本理论4化学反应速率幻灯片.ppt
- 高考复习二轮冲刺化学课件2基本理论5化学平衡幻灯片.ppt
- Linux教学课件项目5服务与进程管理1章节幻灯片.ppt
- 高考复习二轮冲刺化学课件2基本理论6化学平衡的应用2课件幻灯片.ppt
- COE培训课件82.如何进行ETDRS视力检查幻灯片.ppt
- 高考复习二轮冲刺化学课件2基本理论8电离平衡的应用幻灯片.ppt
最近下载
- 屋顶分布式光伏发电项目 投标方案(技术方案).doc
- 道法开学第一课(二年级).pptx VIP
- 电业安全工作规程热力和机械部分但g义b261641—2010.doc VIP
- (高清版)B 26164.1-2010 电业安全工作规程 第1部分:热力和机械.pdf VIP
- 水利工程监理资料目录.xls VIP
- 国企混改项目商业计划书.docx VIP
- CityGML全部实体类型总结(中英文对照).docx VIP
- JT_T 1432.1 2022 公路工程土工合成材料 第1部分:土工格栅.pdf VIP
- 2020年全国普通高等学校体育单招真题英语试卷(原卷+解析).docx VIP
- 2025年全国普通高等学校体育单招真题英语试卷完整版 .pdf VIP
文档评论(0)