- 2
- 0
- 约1.09万字
- 约 42页
- 2017-08-19 发布于广东
- 举报
第6章?? 类与对象 6.1? 经典案例引入 6.2 类与对象 6.3? 构造函数与析构函数 6.4? 类的组合 6.5 友元 6.6? 静态成员 6.7??对象数组与对象指针 6.8 this指针 6.1? 经典案例引入 在实际的应用情况中我们会遇到这样的问题:假设我需要开发设计一个图书馆信息管理系统,这个系统需要处理图书馆的存书的数据,读者借书还书的情况,具备图书查询的功能,可以通过图书的作者、书名等进行查询,管理员可以添加和删除图书信息,添加和删除读者信息。要实现这样一个系统我们要为系统设计什么样的数据结构呢? 6.1.2 解决案例知识 我们可以声明一个Book类和一个Reader类. class Book //声明book类,实现对图书的描述和操作 { private: int bookid; //图书编号 char name[20]; //图书名 int onshelf; //图书在架与否 1:在架 2:已借 public: Book(){} //构造函数 char *getname() //获取书名 int getno() //获取图书编号 int getflag() //获取删除标记 void setname(char na[]) //设置书名 void addbook(int n,char *na) //增加图书 int borrowbook() //借书操作 void retbook() //还书操作 }; class Reader //声明reader类,实现对读者的信息的描述 { private: int readerno; //读者编号 char name[10]; //读者姓名 int borbook[Maxbor]; //所借图书 public: Reader() {} //Reader构造函数 char *getname() //获取姓名 int getflag() //获取删除标记 int getno() //获取读者编号 void setname(char na[]) //设置读者姓名 void addreader(int n,char *na) //添加读者 void borrowbook(int bookid) //借书操作 int retbook(int bookid) //还书操作 }; 6.1.1 案例分析 首先,我们分析在系统中我们要处理的信息有书的和读者的,而一本书的信息,包括书名,作者、价格、出版社等基本属性,且在图书馆中的书有可能已被借出,所以要标识是否在册。读者的信息包括编号、姓名、所借书的信息等信息,且一个读者除了可以借书,还有还书的能力。就我们已有的知识,很多同学可能会提出用结构体来定义书和读者,可是我们知道在结构仅仅是可以描述一个事物的多个属性,却不能给这个事物赋予方法,即不能在结构体中定义函数。即用结构体可以很轻松的表示出书的书名、作者、价格等属性,可是要完成添加和删除一本书的话却要另外定义函数,相当麻烦。在此我们引入一种新的数据类型:类。在类中可以定义事物的属性和方法,即可以在类中声明函数完成某些功能。 6.2类与对象 6.2.1 类的概念 类是对现实世界中的客观事物的抽象,在计算机系统里面类是一个具有特定功能的模块和一种代码共享的手段。从属性和操作两个方面进行描述,类是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。数据描述类的属性,用数据成员表示;操作描述类的服务,用成员函数表示。 6.2.2 类的定义 类定义的说明部分的一般格式如下: class 类名{ private: 数据成员和成员函数的说明 protected: 数据成员和成员函数的说明 public: 数据成员和成员函数的说明 }; 类具有对数据的隐蔽性,在类体部分,有关键字private、protected、public三个访问权限控制符, private表示私有成员,只有类自己的成员函
您可能关注的文档
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验3 表的基本操作.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验4 数据库的基本操作.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验5 结构化查询语言SQL.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验6 查询与视图.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验7 结构化程序设计初步.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验8 表单设计.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验9 类的设计与使用.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验10 报表设计.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验11 菜单与工具栏设计.ppt
- Visual FoxPro数据库程序设计实训指导( 第二版) 高职计算机应用技术 焦凤红 实验12 项目管理器的基本操作.ppt
- 内蒙古丰州职业学院《Python实训》2023-2024学年第一学期期末试卷.doc
- 2024-2025学年北京市高级中学等校中考模拟卷(一)语文试题试卷含解析.doc
- 山西省长治市郊区2025年四年级数学第一学期期末联考模拟试题含解析.doc
- 郑州航空工业管理学院《人因工程学》2022-2023学年第一学期期末试卷.doc
- 江苏省淮安市淮安区达标名校2025年初三阶段性测试(二模)英语试题理试题含答案.doc
- 宁夏回族自治区银川市审计局事业单位联考公共基础知识练习题.docx
- 宁夏回族自治区银川市市场监管局事业单位公共基础知识招聘考试练习题 .docx
- 宁夏回族自治区银川市审计局事业单位编制职业能力倾向测验练习题.docx
- 四川省成都市综合类事业单位联考职业能力倾向测验练习题 .docx
- 天津市滨海新区职业能力倾向测验事业单位考试练习题 .docx
最近下载
- 2025年最新部编版五年级语文下册1-8单元教材分析(全册) .pdf VIP
- 山东省烟台龙口市(五四制)2024-2025学年六年级上学期期末考试历史试题.pdf VIP
- 青少年编程:NOIP CSP 初赛篇.pdf VIP
- 2024年河南豫能控股股份有限公司招聘笔试真题汇总.docx VIP
- 小学科学教育三年规划实施方案.docx VIP
- 视频会议摄像机安装指导书.docx VIP
- 波束匹配-5G网络自适应技术.doc VIP
- 2025年河南豫能控股股份有限公司招聘考试笔试试题(含答案).docx VIP
- 急性心肌梗死PBL教学指南:临床思维培养与典型案例实战解析.pptx VIP
- iso9000实战大全iso9001教材iso9000培训讲义iso9000简述.pptx VIP
原创力文档

文档评论(0)