



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+中类及类的定义 在面向对象的程序设计中,有经常接触类、对象等专业名词;到底什么是类、什么是对象呢?在程序又是怎样运用呢?类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的。没有脱离对象的类,也没有不依赖于类的对象。什么是类类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。类的结构(也即类的组成)是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的。这些行为是通过一种操作接口来描述的(也即平时我们所看到的类的成员函数),使用者只关心的是接口的功能(也就是我们只关心类的各个成员函数的功能),对它是如何实现的并不感兴趣。而操作接口又被称为这类对象向其他对象所提供的服务。类的定义格式类的定义格式一般地分为说明部分和实现部分。说明部分是用来说明该类中的成员,包含数据成员的说明和成员函数的说明。成员函数是用来对数据成员进行操作的,又称为“方法”。实现部分是用来对成员函数的定义。概括说来,说明部分将告诉使用者“干什么”,而实现部分是告诉使用者“怎么干”。类的一般定义格式如下:classpublic:private:;下面简单地对上面的格式进行说明:class是定义类的关键字,是种标识符,通常用T字母开始的字符串作为类名。一对花括号内是类的说明部分(包括前面的类头)说明该类的成员。类的成员包含数据成员和成员函数两部分。从访问权限上来分,类的成员又分为:公有的(public)、私有的(private)和保护的(protected)三类。公有的成员用public来说明,公有部分往往是一些操作(即成员函数),它是提供给用户的接口功能。这部分成员可以在程序中引用。私有的成员用private来说明,私有部分通常是一些数据成员,这些成员是用来描述该类中的对象的属性的,用户是无法访问它们的,只有成员函数或经特殊说明的函数才可以引用它们,它们是被用来隐藏的部分。保护类(protected)将在以后介绍。关键字public,private和protected被称为访问权限修饰符或访问控制修饰符。它们在类体内(即一对花括号内)出现的先后顺序无关,并且允许多次出现,用它们来说明类成员的访问权限。其中,是类定义中的实现部分,这部分包含所有在类体内说明的函数的定义。如果一个成员函数的类体内定义了,实现部分将不出现。如果所有的成员函数都在类体内定义,则实现部分可以省略。下面给出一个日期类定义的例子:classTDatepublic:voidSetDate(inty,intm,intd);intIsLeapYear();voidPrint();private:intyear,month,day;/类的实现部分voidTDate:SetDate(inty,intm,intd)year=y;month=m;day=d;intTDate:IsLeapYear()return(year%4=0&year%100!=0)(year%400=0);voidTDate:Print();coutyear.month.dayendl;这里出现的作用域运算符:是用来标识某个成员函数是属于哪个类的。该类的定义还可以如下所示:classTDatepublic:voidSetDate(inty,intm,intd)year=y;month=m;day=d;intIsLeapYear()return(year%4=0&year%100!=0)(year%400=0);voidPrint()coutyear.month.day 在c+中为取成员运算符对象指针/结构指针-成员变量/成员函数该运算符的作用,取得指针所指向的类对象或结构变量的成员变量的值,或者调用其成员函数。 例如:int *p;struct student char name
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国防教育知识竞赛题库与答案
- 2025年锅炉工应知应会知识考试题库含答案
- 2025年广西梧州市辅警招聘考试题题库(含参考答案)
- 淮安地生中考试卷及答案
- 工业材料购销合同协议
- 八下思品月考试卷及答案
- 融城医院笔试题目及答案
- 2025年中级经济师考试《农业经济专业知识与实务》试卷及答案
- 成都中考试卷汇编题及答案
- 人力社保笔试题库及答案
- 4.2《遵守规则》教学设计 -2025-2026学年八年级道德与法治上册
- 人工智能+高质量发展文化旅游产业智能化升级研究报告
- 2025年自考专业(计算机网络)考试综合练习附参考答案详解(A卷)
- 冷链技术对水果品质保持的数值预测模型研究
- 集输工应急处置考核试卷及答案
- 2025年全国保密教育线上培训考试试题库附完整答案(必刷)
- 珠江医院护理面试题库及答案
- 流程管理某省市场营销MPR+LTC流程规划方案
- 疏浚管线工技能操作考核试卷及答案
- 化工厂实习安全培训课件
- 疏浚清淤工程合同协议书
评论
0/150
提交评论