- 1、本文档共441页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2023/2/71教师: 何国斌电话:箱: hgb07123@163.comC++:面向对象程序设计
2023/2/72类的诞生类(Class)是面向对象思想中的一个重要组成部分。如何在计算机中将“类”表达出来?在C语言中,当定义结构体(struct):struct SAMPLE { int member1, member2; } var1;以后,就可以使用结构中的成员:int var = var1.member1*var1.member2;
2023/2/73将结构体成员的使用代码写成一个函数,得到:int caluc(struct SAMPLE var) { return var.member1*var.member2;}操作结构变量类的诞生
2023/2/74然后,将上面的函数放入结构体中struct SAMPLE { int calcu() { return member1*member2; } int member1, member2;} ;数据成员函数成员类的诞生
2023/2/75这样的结构体就具有了一定的属性(member1和member2),也具有一定的行为(函数calcu), 它就是“类”的雏形。该结构体的使用方法如下:struct SAMPLE var;var.member1 = var.member2 = 10;int temp = var.calcu();类的诞生
2023/2/762.1 类
2023/2/772.1.1类的定义class CCompanyStaff { //BEGIN //声明成员函数 void SetBasicSal ( float sal ); // 设置基本工资 //声明(定义)数据成员 int m_iStaffNum ; // 工作编号 char m_cName[20] ; // 姓名 float m_fRateOfAttend ; // 出勤率 float m_fBasicSal ; // 基本工资 }; // END 多了一个函数(SetBasicSal),其它都象结构体。struct ? class
2023/2/78CCompanyStaff类的定义以关键字class开始。 其后是类名。“{}”表示类定义的开始和结束,最终以分号结束。一般在类中只声明成员函数的原型,而函数的实现(即函数体的定义)则放在类外完成。“函数原型”,即只声明函数名、参数类型和返回值类型,而不包括函数体代码。2.1.1类的定义
2023/2/79函数的定义则可在函数(SetBasicSal)声明之后:void CCompanyStaff::SetBasicSal(float sal ) { m_fBasicSal = sal ;}函数定义:函数名前多了一个类作用域运算符(CCompanyStaff::),用于标识该函数定义属于哪一个类。2.1.1类的定义
2023/2/710对于C++语言的编程习惯:1、将类的声明存放于“*.h”或“*.hpp”的头文件中,每个类一个声明文件。2、将类的定义存放于“*.cpp”文件中,与相应的声明文件一一对应.c ? .cpp2.1.1类的定义
2023/2/711封装成类的好处——可以实现数据隐藏。封装也确定了类成员的访问属性。对象的封装性
2023/2/712对象的封装性C++语言引入面向对象思想,引入类(对象)的概念之后,必然会具有一些新的特性。面向对象思想中类(对象)的基本特性之一:封装性。封装性:直观理解,类将属于它的数据(成员变量)和针对数据的操作(成员函数)包裹在一起就是一种封装。封装的目的:保护类(对象)的实现。对封装属性进行细分:公有的;私有的;保护的。
2023/2/713C++语言为了实现面向对象的封装,引入了三个新的“修饰”关键字:public (公有的):公开的,可见的。对象成员(变量与方法)可以在对象外使用。private (私有的):不可见的。成员只能在对象内部使用。protected (保护的):受到保护的。成员也只能在内部使用。(以后再讨论)C++类的成员(变量和方法)具有了各自不同的属性。对象的封装性
2023/2/714class CCompanyStaff { public:void SetBasicSal ( float sal ); // 设置基本工资 private:int m_iStaffNum ; // 工作编号 char m_cName[20] ; /
文档评论(0)