您所在位置: 网站首页 / 文档列表 / C/C++资料 / 文档详情
第七章类与对象.ppt 立即下载
上传人:天马****23 上传时间:2024-09-07 格式:PPT 页数:88 大小:483KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

第七章类与对象.ppt

第七章类与对象.ppt

预览

免费试读已结束,剩余 78 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第七章类与对象C++引入类类型抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。抽象实例:时钟抽象实例:人在研究问题时,侧重点不同,可能会产生不同的抽象结果;解决同一问题时要求不同,也会产生不同的抽象结果。如何实现抽象?定义和使用类的基本过程类的定义:类的成员构成类定义举例:时钟类类成员的访问控制类的定义:对成员的访问控制公有成员私有成员保护成员类定义举例:时钟类类的实现classClock{private:intHour,Minute,Second;public:voidSetTime(inth,intm,ints);//给出函数原型voidShowTime();//给出函数原型};类的使用类外访问成员的方法举例:一个比较完整的Clock类//实现Clock类中的成员函数//使用Clock类总结:定义和使用类类型的过程在定义类时,把可以被外部访问的成员说明为public属性,作为外部访问类中成员的接口。把不能被外部访问的成员说明为private或protected属性。请思考练习一min=array.类的构造函数提供了这种自动化功能。temp=data[i];Clockobj1,obj2;classClockclassClock通过自定义拷贝构造函数,可以准确地复制数据,以免发生错误。voidmain()实现类:实现类中成员函数的逻辑CStringobj(64);设计一个三角形类CTriangle,该类满足下述要求:c)有一个成员函数GetCircumference,用于获得三角形的周长。Counterobj1,obj2;例子:简单int数组类第二步:定义类intIntArray::getSize(){returnARRAY_SIZE;}intIntArray::getMaxVal(){inttemp=data[0];for(inti=1;i<ARRAY_SIZE;i++){if(data[i]>temp)temp=data[i];}returntemp;}intmain(){IntArrayarray;inti,size,v,max,min;size=array.getSize();cout<<"pleaseinput"<<size<<"numbers:"<<endl;for(i=0;i<size;i++){cin>>v;array.setVal(i,v);}max=array.getMaxVal();min=array.getMinVal();cout<<"maxvalueis:"<<max<<endl;cout<<"minvalueis:"<<min<<endl;return0;}请思考改进:为IntArray类增加公用的私有函数intIntArray::getVal(intcondition){inttemp=data[0];for(inti=1;i<ARRAY_SIZE;i++){if(condition==0){if(data[i]>temp)temp=data[i];}else{if(data[i]<temp)temp=data[i];}}returntemp;}以改进了的IntArray类为例,私有的成员函数getVal在类外(如main函数)是不能被调用的。对象指针构造函数的引入如何解决数据成员的初始化问题构造函数例:为Clock类添加构造函数实现构造函数:初始化数据成员举例传给构造函数实参的两种方式重载构造函数具有缺省参数的构造函数缺省的构造函数析构函数举例:为Clock类添加析构函数voidfunc(){Clockobj1,obj2;……}voidmain(){func();}//输出:Clockobjdestroyed!Clockobjdestroyed!析构函数的典型用法:CString加上析构函数来解决该问题如果没有定义拷贝构造函数,那么编译器会为该类产生一个缺省的拷贝构造函数。this指针是一个隐含的指针,它指向了正在被成员函数操作的那个对象。对象的指针->公有数据成员Pointobj3=obj2;//调用缺省的拷贝构造函数如果开发学籍管理软件,那么关心的是学生的姓名、性别、年龄、籍贯、所在学院等相关信息。intsetVal(intpos,intval);voidClock::addMinute(intm){Minute+=m;}Counter(intv):value(v){}retu
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

第七章类与对象

文档大小:483KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用