第 7 章 类与对象ppt课件.ppt

第 7 章 类与对象ppt课件.ppt

ID:58716959

大小:423.00 KB

页数:119页

时间:2020-10-04

第 7 章 类与对象ppt课件.ppt_第1页
第 7 章 类与对象ppt课件.ppt_第2页
第 7 章 类与对象ppt课件.ppt_第3页
第 7 章 类与对象ppt课件.ppt_第4页
第 7 章 类与对象ppt课件.ppt_第5页
资源描述:

《第 7 章 类与对象ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章类与对象7.1C++的OOP程序结构框架7.2类(class)类型7.3类的构造函数与析构函数7.4简单类应用程序7.5类的静态(static)成员及常量(const)成员7.6友元7.7结构体与联合体7.8创建一个集合类型set7.9利用Stack类型解迷宫问题7.10含有对象成员的类line7.11运算符重载7.12利用运算符重载实现集合set类型17.1C++的OOP程序结构框架 --参看书p46-50,2.4.3与2.4.4小节C++程序的SP结构程序设计程序框架(StructuredProgramming),以函数为核心,其程序主体

2、为一批函数定义的集合,具体内容已在第5章介绍过。第二种为OOP面向对象程序设计程序框架(Object-OrientedProgramming),它以类(class)为核心,其程序主体为一批类定义的集合。2一个大的C++之OOP程序主体的一般格式为:file_1.cpp(源程序文件1)class<类11>{<本类的数据成员以及成员函数的说明与定义>}[<类11>成员函数的类体外定义]...//其他类class3class<类1i>{<本类的数据成员以及成员函数的说明与定义>}[<类1i>成员函数的类体外定义]main(){...//通过对象及相关方法

3、与手段对所定义类进行使用}......//其他文件file4file_n.cpp(源程序文件n)class<类n1>{<本类的数据成员以及成员函数的说明与定义>}[<类n1>成员函数的类体外定义]...//其他类classclass<类nm>{<本类的数据成员以及成员函数的说明与定义>}[<类nm>成员函数的类体外定义]5使用要点:(1)有且仅有一个main函数,从它开始执行,它结束则整个程序结束。(2)类以数据为中心,把相关的一批函数组成为一体。类与类之间一方面通过封装而具有明确的独立性;另一方面,类与类之间又可通过成员、友元和参数的关系,通过继

4、承和派生的关系,进行相互的通讯和联络,从而形成一个有机的整体。(3)除上述主体部分外,如有必要,还可在类之外加入全局量说明或全局函数定义等语法成分。6(4)可以从以下两个角度来看待类与对象概念在编程中所起的作用。第一,从程序的组织角度看,C++通过class把数据以及对这些数据进行处理和运算的函数封装为互相关联的程序模块,提高程序的可读性、可维护性及可重用性。第二,从数据类型的角度看,C++通过class引入了抽象数据类型的概念。一个由数据成员及函数成员组成的一个类就是一种新的数据类型。77.2类(class)类型 --参看书p165,7.2.1小

5、节1.通过如下一般方式来自定义类(class)类型:class<自定义类类型名>{private:<各私有成员说明>;public:<各公有成员说明>;<以关键字friend开头的友元说明>;};8有以下几点需要注意:(1)private关键字后列出本类的私有成员;public后列出本类的公有成员。(2)成员又区分为数据成员与函数成员两种。数据成员代表该类对象含有的数据(描述属性);而函数成员则代表如何对该类对象所含数据进行操作的代码(描述对该类对象的处理方法)。函数成员既可放于类定义体的花括号之中,也可按类外定义方式放于之外(但要求类体内必须有其

6、函数原型,且类体外函数说明的前面必须用“<类名>::”来限定)。凡在类体中定义的函数成员均隐含为内联函数。9(3)以friend说明的友元并不是本类的成员,被说明为本类友元的那些函数享有本类成员函数的“权利”--可以访问本类的私有成员。(4)private、public以及friend“说明段”的顺序可以任意;每一类型的“说明段”均可以出现多次,或者一次也不出现。若紧随左花括号后的第一个“说明段”为private的话,则该private关键字可以省略。102.按如下方式来说明对象 (类类型的变量、类的实例):<自定义类类型名><对象名1>,...,

7、<对象名n>;如:classMyClassType1{private:intx,y;public:intgetx(){returnx;}voidsetx(intx0){x=x0;}...};MyClassType1obj1,obj2,objArr[10];MyClassType1*pobj1,*pobj2;//定义指针113.按如下方式来使用对象成员 (数据成员、函数成员):<对象名>.<成员>如:obj1.xobjArr[0].yobj2.setx()objArr[i].getx()(*pobj1).x或pobj1->x(*pobj2).getx

8、()或pobj2->getx()124.类成员以及对它们的访问(1)private私有成员--只可在类中以及本类的友元函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。