- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C ++ 程序设计教程(第二版).ppt
C ++ 程序设计教程(第二版) 第二部分: 面向对象的程序设计 第8章 类和对象的概念 回顾 已掌握的数据类型 int 所有整数数据 double 所有双精度小数数据 char 所有字符数据 … … int x=5, y=1; 名字为x, y的变量(数据) 数据的如何描述——属性(值):5 和1 x,y都是数据类型int的一个实例。 使用int可以定义任意多个实例变量。 int 是概念的抽象描述, x, y是具体数据 思考 生活中,还有一些数据,C++的基本数据类型无法直接定义它们? 一个日期,一辆汽车,一个学生 这些数据通常是对某客观事物的一个整体性描述,较为复杂,因此,又称为“对象” 思考:用什么数据类型定义它们? 日期——Date数据类型 没有Date数据类型 如何表示一个Date型数据(年月日)? 如:2012-12-5 或 2012/12/5 或 2012, Dec, fifth 用字符串?? 如何 表示其中的“月份”? 执行“月份+1” 操作?? 需要新的数据类型,且自定义——类(class) 自定义 Date数据类型 class Date { public: int year; int month; int day; }; 简单的类的定义: class 类名 { public: 成员变量的定义; 成员函数的定义; }; 自定义 Date数据类型 使用: Date d1, d2; //定义Date型对象(变量), 即d1, d2 d1.year=2012; //访问变量d1的成员(属性) d1.month=12; d1.day=5; coutd1.year“/”d1.month“/”d1.day; 自定义 Date数据类型 还可以包含成员函数(方法Method) 函数总是具有一定功能的,使用对象(变量)的成员函数就是执行它的语句。 例如,在Date类中增加两个成员函数 获得year, month, day 成员的值 按yyyy/mm/dd格式输出日期对象的值 class Date { public: int year; int month; int day; void setDate(int y, int m, int d) { year=y; month=m; day=d; } void showDate() { coutyear“/”month“/”dayendl; } }; 增强的 Date数据类型 Date d1, d2; //定义Date对象 d1.setDate(2012, 1, 1); //访问成员函数 d1.showDate( ); d2.setDate(2013,5,1); d2.showDate( ); 几点注意 类相当于自定义的数据类型; 必须先定义,才能用类定义对象(变量) 类定义时具体说明了这些对象有哪些成员(变量或者函数)。可以通过.运算符访问。 不同对象的成员变量取不同值,就像不同的人有不同的名字/身高一样。也各自使用自己的成员函数。 8.2 类的声明和对象的定义 8.2.1 类和对象的关系 在C++中对象的类型称为类(class)。类代表了某一批对象的共性和特征。前面已说明: 类是对象的抽象,而对象是类的具体实例(instance)。 在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。 类是抽象的,不占用内存,而对象是具体的,占用存储空间。在一开始时弄清对象和类的关系是十分重要的。 8.2.2 声明类类型 类是用户自己指定的类型。如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类。C++标准本身并不提供现成的类的名称、结构和内容。 在C++中声明一个类类型和声明一个结构体类型是相似的。 声明一个类: class Student //以class开头 { public: int num; char name[20]; char sex; //以上3行是数据成员 void displa
您可能关注的文档
最近下载
- 企业职务犯罪预防讲座PPT文档共26页.ppt
- 机井工程技术标准 GB_T50625-2023.docx VIP
- 高效课堂中合作学习的策略与效果教学研究课题报告.docx
- 2024版特种设备重大事故隐患判定准则PPT.pptx
- 初中语文学科中分层作业设计的实践与总结教学研究课题报告.docx
- 多人投资合作协议书(通用版).pdf VIP
- 北京市海淀区2024年七年级下学期数学期中试卷2套(附答案).docx VIP
- 2024年辽宁省抚顺市新抚区中考模拟(四)语文试题(含答案).pdf VIP
- 2025年自考《马克思主义基本原理概论》考前押题密卷及答案解析.pdf VIP
- 危重孕产妇抢救演练理论考核试题(含答案).pdf VIP
本人在医药行业摸爬滚打10年,做过实验室QC,仪器公司售后技术支持工程师,擅长解答实验室仪器问题,现为一家制药企业仪器管理。
文档评论(0)