程序设计基础第10章.ppt

程序设计基础第10章.ppt

ID:56391707

大小:147.50 KB

页数:35页

时间:2020-06-15

程序设计基础第10章.ppt_第1页
程序设计基础第10章.ppt_第2页
程序设计基础第10章.ppt_第3页
程序设计基础第10章.ppt_第4页
程序设计基础第10章.ppt_第5页
资源描述:

《程序设计基础第10章.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第10章类与对象的实现10.1C++中的类10.2对象及其成员的使用10.3类的特殊成员学习目的:①掌握C++中的类、对象;②掌握构造函数、析构函数、类型转换函数等特殊成员函数;③能够跟踪程序运行中各种成员函数的调用;④了解友元的概念。至第11章10.1C++中的类10.1.1类的说明10.1.2类的定义至第十章面向对象程序设计中的类,最初应该来自分析模型或者设计模型,其中往往对于类所具有的属性和操作都进行了严格定义,几乎可以将这些设计得十分详细的、以图形方式描述的类直接转换成C++的类。10.1.1类的说明C++中类的定义一般分为类的说明部分和类的实现部分。其中

2、类说明的格式如下:class{private:私有数据和函数public:公有数据和函数protected:受保护数据和函数};其中class是关键字。是用户自定义的C++标识符,VisualC++中类名的风格是所有类的名字都以大写字母C开头,表示这是个类的名字,例如CBook、CStudent等。被花括号围起来的部分称做类体。类成员被分成私有、公有、受保护三类。10.1.1类的说明[例10.1]描述图9.7中所描述的图书类。classCBook{private:char*m_pczName;intm_nPages;in

3、tm_nEdition;public:voidGetBookName(char*pName);intGetTotalPages();intGetBookEdition();private:voidSetBookName(char*pName);voidSetTotalPages(intnPages);voidSetBookEdition(intnEdition);public:CBook();};classCPoint{private:intm_x;intm_y;public:voidSetXY(intx,inty);intGetX();intGetY();};[

4、例10.2]定义描述平面上点的类,要求提供成员函数设置点的坐标值、返回点的横纵坐标值等功能。至10.110.1.2类的定义1.成员函数的定义类说明声明了类的内部结构(数据成员),以及类的接口(成员函数的函数原型),类定义给出这些函数功能的具体实现。成员函数的定义格式如下:::){……}[例10.4]定义CPoint类的成员函数的实现voidCPoint::SetXY(intx,inty){m_x=x;m_y=y;}intCPoint::GetX(){return

5、m_x;}intCPoint::GetY(){returnm_y;}函数SetXY(intx,inty)是用所提供的函数参数x和y的值去设置CPoint类某个对象的m_x和m_y值。而其他两个函数的实现仅仅是将任何一个CPoint类对象所具有的坐标值返回。10.1.2类的定义2.带缺省参数的成员函数与普通函数一样,成员函数参数可以被指定缺省值,当调用该成员函数时,如果没有显式指明参数,则按照相应的语法规则用参数缺省值作为参数调用该成员函数。classCPoint{……voidSetXY(intx=0,inty=0);……};classCPoint{……voidSe

6、tXY(intx,inty);voidSetXY(intx);voidSetXY(inty);……};3重载成员函数voidCPoint::SetXY(intx,inty){m_x=x;m_y=y;}voidCPoint::SetXY(intx){m_x=x;}至10.110.2对象及其成员的使用10.2.1对象实例10.2.2对象成员的引用10.2.3生命周期10.2.4类型转换*10.2.5其它应用至第十章10.2.1对象实例例:CPointpoint1,point2,*pPoint;从类产生解空间对象的过程是一个从一般到特殊的演绎过程,这个过程在C++中有相

7、对应的语法—对象声明。声明对象象声明一个普通变量一样,只不过这里将类看做是类型(抽象类型),具有该类型的变量称为对象。具体格式如下:;程序运行遇到这条语句时,将首先根据point1和point2所属类CPoint计算对象所需存储空间的大小,然后为point1和point2分配存储空间,并将相应的空间以point1和point2作为标识。与利用new运算符创建动态数据对象一样,利用new运算符也可以创建类的动态对象,例如创建CPoint类的动态对象可按如下方式编写程序:CPoint*pPoint=newCPoint;至1

8、0.210

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

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

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