- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计类与对象[精]
* * * * * * * * * * * * * C++程序设计类与对象 面向对象程序设计概述 面向对象的程序设计方法,简称为OOP,其基本要求是将描述某一类事物的数据与处理这些数据的函数都封装成一个整体,从而达到数据隐藏(保护)的目的。应用程序只有通过这一整体中的函数才能修改这一整体中的数据,同样,数据结构的变化,仅影响封装在一起的函数。这种将数据与处理这些数据的函数封装成一个整体,就构成一个类。 类的封装性是指:使类中的数据在类的外部是不可见的,外部只能通过公共接口(类中的函数)与类中数据发生联系。 类的派生性是指:一个类可以派生出它的子类,子类可以从它的父类中部分或全部地继承各种函数和数据,并增加新的函数和数据。 对象是类的一个实例,类是用户定义的一种类型,具有为类类型的变量称为对象,也称为实例。对象是动态产生和动态消亡的。一个对象占用计算机内存中的一个独立区域,用于存放对象的数据和函数,这个区域相对独立,只有局部于对象中的函数才可以访问存放在该对象中的数据。 类是对某一事物的抽象描述,它既可包含描述事物的数据,又可包含处理这些数据的函数。在C++中,我们可以通过类的定义,把描述矩形的结构和处理这个矩形的函数组合到一个完整的类定义中: class CRectangle { int left; int top; int right; int bottom; void DrawRectangle(void); }; left, top,right,bottom称为成员变量,而函数称为类的成员函数。由此可见,类中不仅包含了描述构造类型的成员变量,而且可以包含用于处理这些成员变量的操作。 4.4.1 类的定义 C++中完整的类定义形式如下: class 类名 { private: 私有类成员; public: 公有类成员; protected: 保护类成员; }; private: 限定为类的私有成员,只允许该类中的成员函数存取私有的成员数据,对于私有的成员函数,只能被该类中的成员函数调用; public: 限定为类的公有成员,它不仅允许该类中的成员函数调用公有成员数据,而且允许该类之外的函数也调用公有成员数据,公有成员函数不仅能被该类的成员函数调用,而且能被其他函数调用。 protected: 限定为类的保护成员,允许该类及其派生类的成员函数调用成员数据或成员函数。但其他函数不能存取该类的保护成员数据,也不能调用该类的保护成员函数。 例4.1 定义描述一个人的类。 class person { private: char name[12]; int age; char sex[4]; public: void RegisterPerson(char *, int, char *); void GetName(char *); int GetAge(void); void GetSex(char *); }; 在类person中,把成员数据name、age、sex定义为私有成员; 四个函数定义为公有成员: RegisterPerson( ):用来登录一个人的姓名、性别和年龄; GetName( ):用来获取一个人的姓名; GetAge( )和GetSex( )获取人的年龄和性别。 在类体定义中,当省略关键字private时,系统默认为所定义的成员数据为私有成员,所以类person还可以有另外的等同写法。 在以上的类定义中,person类中的成员函数仅给出了函数原型,并没有给出成员函数的定义,在使用这些成员函数前,必须先给出函数的定义。在C++中定义成员函数的一般格式为: 函数类型 类名::函数名(参数表) { …….. } 其中,运算符“::”称为作用域分辨符,它指出“函数名”是属于“类名”的成员函数。 void Person::RegisterPerson(char *newname, int newage, char *newsex) { strcpy(name, newname); age=newage; strcpy(sex,newsex); } Void Person::GetName(char *newname) { strcpy(name, newname); } Int Person::GetAge(void) { return(age); } Void Person::GetSex(char *newsex) { strcpy(sex, newsex); } 例
您可能关注的文档
- BOD5检测[精].ppt
- BOP厂房电缆桥架安装施工方案[精].doc
- Book4Unit2_Using_language[精].ppt
- BOSCH[精].doc
- Book2 U1(英语课件)[精].ppt
- book4unit3Workbook listening & reading[精].ppt
- BOSS系统计费基础知识介绍[精].ppt
- BOSCH电控柴油共轨(1.2传感器介绍)[精].ppt
- BP-2B母线差动保护[精].doc
- BPPV的诊断[精].ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)