- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C面向对象程序设计第二章类与对象
主讲教师: 个人主页:http:;///~chenliangyin 教材:《C++面向对象程序设计》 李涛 主编 游洪跃 陈良银 李琳等编 高等教育出版社 2006年2月出版 本书内容 第1章 绪论 第2章 C++类和对象 第3章 继承 第4章 多态性 第5章 模板 第6章 C++常见问题 第7章 Visual C++编程基础 第8章 对话框、常用消息、菜单和工具条 第9章 单文档界面和多文档界面 第10章 图形设备接口 实验 (待安排) 类的诞生(一) 类(Class)是面向对象思想中的一个重要组成部分。如何在计算机中将“类”表达出来? 在C语言中,当定义结构体(struct): struct SAMPLE { int member1, member2; } var1; 以后,就可以使用结构中的成员: int var = var1.member1*var1.member2; 类的诞生(二) 将结构体成员的使用代码写成一个函数,得到: int caluc(struct SAMPLE var) { return var.member1*var.member2; } 然后,将上面的函数放入结构体中 struct SAMPLE { int calcu() { return member1*member2; } int member1, member2; } ; 类的诞生(三) 这样的结构体就具有了一定的属性(member1和member2),也具有一定的行为(函数calcu), 它就是“类”的雏形。 该结构体的使用方法如下: struct SAMPLE var; var.member1 = var.member2 = 10; int temp = var.calcu(); C++类的声明与定义(一) class CCompanyStaff { //BEGIN //声明成员函数 void SetBasicSal ( float sal ); // 设置基本工资 //声明(定义)数据成员 int m_iStaffNum ; // 工作编号 char m_cName[20] ; // 姓名 float m_fRateOfAttend ; // 出勤率 float m_fBasicSal ; // 基本工资 }; // END 多了一个函数(SetBasicSal),其它都象结构体。 CCompanyStaff类的定义以关键字class开始。 其后是类名。 “{}”表示类定义的开始和结束,最终以分号结束。 一般在类中只声明成员函数的原型,而函数的实现(即函数体的定义)则放在类外完成。 “函数原型”,即只声明函数名、参数类型和返回值类型,而不包括函数体代码。 C++类的声明与定义(二) 函数的定义则可在函数(SetBasicSal)声明之后: void CCompanyStaff::SetBasicSal(float sal ) { m_fBasicSal = sal ; } 函数定义:函数名前多了一个类作用域运算符(CCompanyStaff::),用于标识该函数定义属于哪一个类。 C++类的声明与定义(三) 对于C++语言的编程习惯: 1、将类的声明存放于“*.h”或“*.hpp”的头文件中,每个类一个声明文件。 2、将类的定义存放于“*.cpp”文件中,与相应的声明文件一一对应 封装成类的好处——可以实现数据隐藏。 封装也确定了类成员的访问属性。 对象的封装性 C++语言引入面向对象思想,引入类(对象)的概念之后,必然会具有一些新的特性。 面向对象思想中类(对象)的基本特性之一:封装性。 封装性:直观理解,类将属于它的数据(成员变量)和针对数据的操作(成员函数)包裹在一起就是一种封装。 封装的目的:保护类(对象)的实现。 对封装属性进行细分:公有的;私有的;保护的。 C++的封装(一) C++语言为了实现面向对象的封装,引入了三个新的“修饰”关键字: public (公有的):公开的,可见的。对象成员(变量与方法)可以在对象外使用。 private (私有的):不可见的。成员只能在对象内部使用。 protected (保护的):受到保护的。成员也只能在内部使用。(以后再讨论) C++类的成员(变量和方法)具有了各自不同的属性。 C++的封装(二) class CCompanyStaff {
您可能关注的文档
- 2011年社会工作者练习题二.doc
- 2011年监理工程师监理概论新 第二册.pdf
- 2011年监理工程师监理概论新 第四册.pdf
- 2011年秘书资格基础知识.doc
- 2011年秘书资格多项选择题.doc
- 2011年管理咨询师模拟试题.doc
- 2011年管理咨询师案例分析.doc
- 2011年监理工程师《合同管理》教材新 第四册.pdf
- 2011年监理工程师监理概论新 第三册.pdf
- 2011年统计师考试训练题一.doc
- 2024-2025学年安徽省卓越县中联盟高一(上)期中联考物理试卷(含答案).pdf
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).docx
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).pdf
- 2024-2025学年内蒙古鄂尔多斯一中伊金霍洛分校九年级(上)月考物理试卷(10月份)(含答案).docx
- 2023-2024学年山东省淄博市张店六中八年级(下)期中物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).docx
- 2024-2025学年江苏省常州实验中学九年级(上)期中物理试卷(含答案).docx
- 2024-2025学年湖北省武汉市江岸区八年级(上)期中物理试卷(含答案).docx
- 2024学校食品安全周活动总结(30篇).pdf
文档评论(0)