




已阅读5页,还剩172页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章对象和类,类5.1及其实例化类5.2和对象的属性类5.3结构和联合5.4构造函数类5.5析构函数类5.6综合示例类5.7重载对象的赋值运算符类5.8对象成员的初始化类5.9模板和标准模板库类5.10面向对象编程文件规范实验练习本章侧重于在C语言中定义类、创建和使用对象。类是相似对象的描述。它不仅描述了对象之间的公共接口,还给出了对象的内部实现(数据成员和成员函数)。像构造枚举和结构一样,类也是由用户自己构造的数据类型,并遵循c语言的规则。例如,类必须在使用前声明。无论声明的内容是否相同,用相同的名称声明两个类都是错误的。类是具有唯一标识符的实体。类中声明的任何成员都不能用extern、auto和register关键字修饰;类中声明的变量属于该类,在某些情况下,变量可以由该类的不同实例共享。类5.1及其实例化类5.1.1定义了类。与其他数据类型不同,类不仅可以有数据,还可以有操作数据的函数。它们分别被称为类的数据成员和类的成员函数,不能用类声明中的表达式初始化数据成员。声明一个类类是一组具有相同属性的对象的程序描述。c语言中声明类的一般形式是类名 private:private data and function public:public data and function protected:protect data and function ;类声明以关键字class开始,后跟类名。类声明的内容用花括号括起来,右花括号后面的分号用作类声明语句的结束标记。这对花括号“”之间的内容称为类主体。类中定义的数据和函数称为该类的成员(数据成员和成员函数)。类成员都有一个名为access的属性,它是由前面的关键字定义的。顾名思义,成员在关键字私有、公有和受保护后的访问权限分别是私有、公有和受保护,这些成员分别称为私有成员、公有成员和受保护成员。访问权限用于控制程序中对象成员的可访问性。如果没有使用关键字,默认情况下所有成员都被声明为私有权限。这些关键字的顺序和数量也是任意的。描述点的点类。class point /class name point private:/declared private access intx,y;/私有数据成员公共:/声明公共访问无效集xy(inta,INTB);/VirtualMove(inta,INTB),一个没有返回值的公共成员函数;/VirtuaL Display(),一个没有返回值的公共成员函数;/没有返回值的公共成员函数intgetx()。/返回值为int的公共成员函数intgety()。/返回值为int的公共成员函数;/类声明以分号结尾,X和Y是私有成员,Setxy、Display、Move、Getx和Gety是公共成员。因为只有函数被声明,所以只能给出函数的原型。示例5.2是它的等效语句。(示例5.2)使用默认关键字并更改关键字顺序和数量的Point类。class point /class name Pointx;/默认私有数据成员公共:/Declare public access/不带返回值的公共成员函数Setxy的函数原型空隙集xy(int,int);/没有返回值的公共成员函数的函数原型void Move (int,int);空隙显示();/无返回值的公共成员函数的函数原型intgetx()。/返回值为int的公共成员函数的函数原型intgety()。/返回值为int的公共成员函数的函数原型,私有:/声明为私有访问int;/私有数据成员;/类定义以分号结束。因此,成员函数声明的规则与第4章中描述的相同。2.定义成员函数类中描述的成员函数,以便对数据成员进行操作。例如,Point类的Setxy函数用于设置该类对象的初始值,当调用成员函数Getx时,返回对象的数据成员x的值。只有这些成员函数在类中声明,并且这些成员函数也必须在程序中实现。定义成员函数的一般形式是:返回类型类名成员函数名(参数列表)成员函数的函数体/内部实现其中“”是范围运算符,“类名”是成员函数所属的类的名称,而“”用来表示下面的成员函数属于这个特定的类。换句话说,“类名成员函数名”意味着定义属于“类名”的成员函数,“返回类型”是该成员函数返回值的类型。剩下的工作是定义成员函数的函数体。例如,Setxy是Point类的一个成员函数,它没有返回值,定义如下:VoIce PointSetxy(inta,intb) x=a;y=b。,则“VoIce PointSetxy(inta,intb)”被理解为定义该点的函数成员Setxy(inta,intb)。该成员有两个整数参数,并且函数没有返回值(void)。根据这种方法,其他几个成员函数的定义可以写成:虚点移动(inta,intb) x=xa;y=y b。空隙点显示器() CoutDisplay();/显示由指针P指向的对象A的数据/成员A.x和成员A.y的值示例5.3根据上述点类的定义,使用点类演示对象。无效打印(Pointa)/使用Points函数参数a.display()的对象a;/显示对象A 点A,B 的数据成员的值Voidmain()。/声明对象A. Setxy (25,55
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肿瘤病人靶向治疗的护查房讲课件
- 外贸业务开放题目及答案
- DB61-T 1699-2023 1:10000基础地理信息要素图库一体化数据规范
- 抵制传销主题班会课件
- 互动式课堂环境对维持学习动机的作用
- 广西科技师范学院《青少年心理健康与心理咨询》2023-2024学年第二学期期末试卷
- 2024年度浙江省二级建造师之二建市政工程实务模拟题库及答案下载
- 广州铁路职业技术学院《国际文化贸易(双语)》2023-2024学年第二学期期末试卷
- 未来教育行业的科技驱动力量-智慧教室研究
- 椎管内占位切除术后护理讲课件
- 2020年沈阳职业院校技能大赛中职学生组职业英语(服务类)样题
- 农业科技产业园发展战略规划与实施路径
- 信息技术系统集成采购合同及配套产品订货协议
- 2025年养老护理员(中级)考试试卷:实操技能解析
- 2024年贵州省公安厅招聘警务辅助人员笔试真题
- 2025届江苏炸无锡市锡山区七年级数学第二学期期末联考试题含解析
- 养老机构消防安全课件
- 主、被动防护网施工方案-图文
- GB/T 45565-2025锂离子电池编码规则
- 1、人教部编版二年级下册语文看拼音写词语(一类生字和书后词语)
- 2025年济南高新区九年级中考数学二模考试试题(含答案)
评论
0/150
提交评论