- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的程序设计 将数据和对数据的操作方法放在一起,形成一个相对独立的整体——对象(object)。 程序看做若干对象之间的交互行为。 对象=(算法+数据结构) 程序=(对象+对象+……) 面向对象的基本概念(类、对象) 人类解决复杂问题的方法原则 抽象 分类 封装 程序面对的问题域—客观世界 客观世界有很多事物 事物有静态特征和动态特征 很多事物有相同的特征(同一类事物) 在一个面向对象系统 对象是现实世界的事物的抽象描述 属性是事物静态特征的抽象 操作是事物动态特征的抽象 类是同类对象的抽象描述 对象 客观世界由具体事物构成。 事物具有两方面的特征: 静态特征(属性) 动态特征(方法) 把问题域中的事物抽象为对象 静态特征抽象为一组数据 动态特征抽象为一组方法(函数) 类 把具有共同性质的事物归为一类,得出一个抽象的概念(抽象与分类原则) 类是对对象的抽象和归纳 面向对象语言中 类是对同类的所有对象的抽象描述 属性 方法 类与对象的关系 抽象与具体的关系 类是同类对象的抽象描述 对象是符合类描述的具体事物 我们称:对象是类的实例 程序 先定义类 创建类的对象,通过对象完成系统功能 消息 我们把对象之间产生相互作用所传递的信息称做消息。 通过给对象发送消息使对象做相应的操作 第六章 类和对象 类构成了实现C++面向对象程序设计的基础,它把数据和作用在这些数据上的操作组合在一起,是封装的基本单元。对象是类的实例,类定义了属于该类的所有对象的共同特性。本章介绍类的实现及使用方法。 本 章 目 录 6.1 类 6.2 类 对 象 6.3 构造函数和析构函数 6.4 常 类 型 6.5 静 态 成 员 6.6 成 员 指 针 6.7 t h i s 指 针 6.1 类 从语言的角度来说,类是一种数据类型,而对象是具有这种类型的变量。类似于 int n 类是一种用户自定义的数据类型 6.1.1 类的定义 类的定义: 类的数据成员 数据成员的声明方式同普通变量的声明 类的数据成员可以是任意类型 数据成员不能在类体中显式地初始化 6.1.2 类的成员函数 类的成员函数被声明在类体内: 在类体中定义的成员函数都是内联函数。 在类体外定义的成员函数缺省不是内联的。 在类体外实现的函数可以通过在函数定义或声明时加上inline来表示该函数是内联的 6.1.3 访问权限 private(私有的):只允许类本身声明的成员函数(友元类的成员函数)对其访问,其他的任何函数都不能访问 public(公有的):是类与外部的接口,任何外部函数都可以访问公有的成员变量和成员函数 protected(保护的):用于类的继承 6.2 类对象 前面讲过,类只是一个数据类型。为了使用类,还必须说明类的对象。 在定义类时,系统是不会给类分配存储空间的。只有定义类对象时会引起内存分配。 6.2.1对象的定义格式 定义对象的格式如下: 类名 对象名表; 声明对象数组: 声明类对象的指针: 声明类对象的引用: 对象的创建方式 静态创建 Point aa; Point aa[10]; 动态创建 Point *bb = new Point; Point *bb = new Point[10]; 动态创建的删除 delete bb or delete[] bb 6.2.2对象成员的表示方法 如何访问对象成员? 必须使用成员访问操作符来访问类对象的数据成员或成员函数 点成员访问操作符(.):与类对象或引用连用 箭头成员访问操作符(-):与类对象的指针连用 类域 一个类定义就是一个类域。 类中定义的类成员作用域为类域。 同域中的成员函数可以直接访问同域中的数据成员与其他成员函数 不同域只能通过对象访问,且有访问权限问题:只能访问公有成员 例: 本程序的执行结果如下: 6.3 构造函数和析构函数 构造函数和析构函数都是类的成员函数,但是他们是特殊的成员函数,不用调用便自动执行,而且这些函数的名字与类的名字有关. 6.3.1 构造函数 问题提出:对象的数据成员如何初始化? 类定义体中不能在定义时初始化数据成员,数据成员的值是无定义的。 C++提供了一个方法:类的构造函数。 构造函数是类的一个特殊成员函数 它与类同名 并且没有返回值 在创建类的对象时,编译器会自动调用类的“构造函数” 6.3.1 构造函数 给出以下程序的执行结果 6.3.1 构造函数 成员的其他初始化方式 6.3.1 构造函数 对象创建时必须调用构造函数。 若没定义构造函数,编译器会自动生成一个不带参数的构造函数,称为默认构造函数。 在程序中定义一个对
您可能关注的文档
最近下载
- 应急执法课件.pptx VIP
- 2025年无人机理论考试题库附参考答案(完整版).docx VIP
- 2026年辽宁石化职业技术学院单招职业适应性测试题库必考题.docx VIP
- 2025AICon全球人工智能开发与应用大会-上海站:昇腾推理技术的优化实践 .pptx VIP
- 河南省直第三人医院.doc VIP
- CAAC无人机理论考试题库附参考答案详解【完整版】.docx VIP
- 《策略三周期嵌套之理论篇(1)—经济周期综述—我们为.doc VIP
- 三周期嵌套之理论篇(4):周期嵌套的实证研究.pdf VIP
- 最新版十八项护理核心规范.docx VIP
- 中国信通院:2025年AI+运维:构建智能化运维新范式研究报告.pdf VIP
原创力文档


文档评论(0)