




免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章目标 类和结构的区别类和对象的关系对象的生命周期封装 软件方法发展的必然 结构化程序设计方法程序 算法 数据结构 主函数 函数1 函数2 函数3 函数1 1 函数1 2 函数1 3 函数2 1 函数3 1 函数3 2 数据1 数据2 数据3 软件方法发展的必然 面向对象方法的基础程序 算法 数据结构 软件方法发展的必然 在面向对象中 算法与数据结构被捆绑成一个类对象 算法 数据结构 程序 对象 对象 程序就是许多对象在计算机中相继表现自己 对象又是一个个程序实体 软件方法发展的必然 构成程序的对象 什么是类 C 封装的基本单元 数据 函数 面向对象程序设计的基础类的成员有访问级别的控制 public protected private classPerson public voidsetValue char p int age int weight strcpy this name p age age weight weight 函数成员voidinfo cout name age weight endl private charname 16 数据成员intage 数据成员intweight 数据成员 注意 类的定义最后要加 intmain intargc char argv Personman man setValue Pitter 23 70 man info return0 成员函数 声明和定义如何调用 对象 引用 指针 成员函数重载 在类定义的内部 成员函数可以访问任何其它成员函数和成员变量 隐含this指针 访问控制 public 可以在外部通过对象或指针 引用访问private 不可以在外部通过对象或指针 引用访问protected 不可以在外部通过对象或指针 引用访问 类和对象 类是对象结构的说明 而类的变量 就是对象 classA Aobj 此处定义了A类的一个对象 对象名为obj 是在栈中分配的内存 对于类的数据成员 类的每个对象都有一份独立的拷贝 而对于类的函数成员 所有变量都共享一份成员函数的代码 封装 类的封装的概念首先是 数据与算法 操作 结合 构成一个不可分割的整体 对象 其次是 在这个整体生 些成员是保护它们被有效地屏蔽 以防外界的干扰和误操作 另一些成员是公共的 它们作为接口提供给外界使用 而对该对象的描述即是创建用户定义的类型 对C 来说 就是类的实现机制 封装 数据 函数 访问控制屏蔽变化 设计模式中的依赖倒置原则 高层和底层都要依赖接口 或协议 互相之间不要有依赖 类的作用域 将成员函数定义在类的声明外面 一个类的所有成员位于这个类的作用域内 访问它们必须要通过此类或此类的对象类的作用域是类定义和类成员的定义范围在类的作用域内 一个类的成员函数对同一类的数据成员具有无限制的访问权 类的作用域 C 中结构体和类 C 中类与结构的唯一区别 类 class 定义中默认情况下的成员访问级别是private 结构 struct 定义中默认情况下的成员访问级别是public structSTime inthour intmin intsec classCTime inthour intmin intsec intmain intargc char argv STimestm CTimectm stm hour 12 OK默认publicstm min 13 OK默认publicstm sec 14 OK默认publicctm hour 12 ERROR默认privatectm min 13 ERROR默认privatectm sec 14 ERROR默认privatereturn0 嵌套类 可以在类的内部定义另一个类或结构体通过外层类名的作用域操作符 引用内部类 后面STL的迭代器会遇到这种情况 可以将外层类理解为一个命名空间嵌套类也收访问级别限制 includeusingnamespacestd classInit public classapp public voidset app val intx intget app val private intapp val private intInit val voidInit app set app val intx app val x intInit app get app val returnapp val intmain Init appobj1 嵌套类的对象obj1 set app val 12 cout obj1 get app val endl return0 类名的可见性 classSample 定义类 voidfunc intSample 函数形参隐藏了类名 classSamplea 定义一个对象要用到类名Sample 形参的算术操作 如果一个类型名隐藏了一个非类型名 则用一般作用域规则即可 ints 0 全局变量voidfunc classs 类s隐藏了全局变量ssa 定义一个类对象 s 3 引用全局变量 classs作用域结束intg s 用全局变量s给变量g初始化 可见性 封装 共享库的构成一个商业性类库包括一个类定义和成员函数定义 C 程序结构一个C 应用程序是一个程序工程 一个c 程序工程文件中 应该组合下面这些程序文件 main cppclass cpp sfunction cpp s 其中包含主函数的源文件应该是下面的形式 include s include s include 自定义类库头文件 s include 自定义函数头文件 s函数原型s 全局数据定义 svoidmain 函数定义 s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期末说课稿-2025-2026学年中职基础课-拓展模块-教科版(2021)-(英语)-52
- 2025成都市房地产交易代理服务版合同
- 2025二手房屋买卖定金合同模板
- 随州事业单位笔试真题2025
- 2025年中国国际贸易中合同风险与防范策略研究
- 印刷厂员工调岗补贴管理规定
- 2025年签订合同的重点留意事项盘点
- 郴州事业单位笔试真题2025
- 化肥厂质检设备更新规章
- 化肥厂车间通风检查制度
- (一检)泉州市2026届高三高中毕业班质量监测(一)数学试卷(含标准答案)
- 2025年福建省榕圣建设发展有限公司项目招聘12人笔试参考题库附带答案详解
- 矿山设备检修安全培训课件
- 2025-2030数据安全合规审计服务市场爆发及等保测评机构并购价值评估
- 纤维转盘滤布滤池运行维护技术说明
- 2025至2030中国无烟产品行业发展趋势分析与未来投资战略咨询研究报告
- 2025年中国华电集团招聘面试题解析及备考建议手册
- 2025年机器人面试题及答案解析
- 高三第一次月考总结主题班会课件
- 参考活动2 善待身边的人教学设计-2025-2026学年初中综合实践活动苏少版七年级下册-苏少版
- 2025年度江苏省档案管理及资料员基础试题库和答案
评论
0/150
提交评论