- 1、本文档共88页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C03第3章_类和对象
* * * * * * * 类 创建对象的模版 创建对象的状态描述 操作行为的说明 * * * * * * * * * 给各成员数据赋初值。 * 作用:使用一个对象(参数指定的对象),去初始化一个正在被建立的同类型对象 * * * * * * * 如果希望程序在对象被删除前的时刻自动完成某些事情,可以写入析构函数中。 * * * * * * * 通过对复杂对象进行分解、抽象,使我们能够将一个复杂对象理解为简单对象的组合。 分解得到复杂对象的部件对象,这些部件对象比它高层的复杂对象更容易理解和实现。然后由这些部件对象来“装配”复杂对象。 * * * * * 不带参数的构造函数称为缺省构造函数。 * 类的例子 日期 //说明部分 Class Date { public: void setDate(int y,int m,int d); int IsLeapYear(); void Print(); private: int year,month,day; } * //实现部分 void Date::setDate(int y,int m,int d) { year=y; month= m; day=d; } void Date:: IsLeapYear() { return (year%4==0year%100!=0)|| (year%400==0) } void Date:: Print() { coutyear“,”month “,”dayendl; } Date() { cout“default constructor called\n” endl; } Date(int y,int m,int d) { year= y; month= m;day= d; cout“constructor called\t”dayendl; } ~ Date() { cout“destructor called\t”dayendl; } Date类增加构造函数和析构函数 默认构造函数 自定义构造函数 析构函数 * 构造函数和析构函数举例 #includeDate.h Void main() { static Date d1; Date d2(2010,10,11); cout “d1 is”; d1.print(); cout “d2 is”; d2.print(); } * 结果 default constructor called constructor called 11 d1 is 0,0,0 d2 is 2010,10,11 destructor called 11 destructor called 0 * 说明 构造对象的顺序 静态对象只被构造一次,分配空间时位模式清零 局部变量、静态对象、类中成员以声明的顺序构造 全局变量和全局对象在main函数之前被构造,无特殊顺序 析构函数以与构造函数相反的顺序被调用 * #includeiostream.h #includeconio.h class TAdd { private:int x,y; public: TAdd(int a,int b) { x=a;y=b; cout“调用构造函数1”endl; } TAdd(TAdd p) { x=p.x;y=p.y; cout“调用构造函数2”endl; } ~ TAdd() { cout“调用析构函数”endl; } int add(){return x+y;} }; void main() { TAdd p1(2,3); TAdd p2(p1); coutp2.add()endl; } 调用构造函数1 调用构造函数2 5 调用析构函数 调用析构函数 写输出结果 * 例4-3 类的应用举例 一圆型游泳池如图所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘
您可能关注的文档
- BODAS-skill.ppt
- Body Language身体语言PPT英文.pptx
- Bootstrap中的JavaScript插件.docx
- book 1 Unit9_Ted_did_not_agree.ppt修改版.ppt
- Bootstrap栅格系统.doc
- bootstrap讲义.doc
- BPC总结.pptx
- BPH手术指征.pptx
- BPSK传输实验报告.docx
- BSS呼叫流程与实际接口分析.ppt
- 高考物理二轮总复习课后习题热点情境练 生产生活类(一) (2).doc
- 高考物理二轮总复习课后习题专题5 振动与波、光学 专题分层突破练12 振动与波 (2).doc
- 高考物理二轮总复习课后习题专题1 力与运动 专题分层突破练1 力与物体的平衡.doc
- 高考物理二轮总复习课后习题专题5 振动与波、光学 专题分层突破练13 光学.doc
- 高考物理一轮总复习精品课件 第15章 近代物理 第2节 原子结构 玻尔理论.ppt
- 高考物理一轮总复习精品课件 第2章 相互作用 专题提升课3 动态平衡及平衡中的临界极值问题 (4).ppt
- 高考物理一轮总复习精品课件 第1章 运动的描述 匀变速直线运动的研究 专题1 运动图象问题.ppt
- 高考物理二轮总复习课后习题 专题分层突破练 专题分层突破练6 动量和能量观点的应用 (2).doc
- 高考物理二轮总复习课后习题 专题分层突破练 专题分层突破练18 光学与热学实验.doc
- 高考物理二轮总复习课后习题热点情境练 科技发展类(三) (4).doc
文档评论(0)