- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 类与对象1005概要
【例4-9】构造函数与析构函数的调用顺序。 #include iostream.h #include string.h class student { public: student() { coutconstructing student.endl; shours=60; gpa=6; } ~student() { coutdestructing student.endl; } private: int shours; int gpa; }; class teacher { public: teacher() { coutconstructing teacher .endl; } ~teacher() { coutdestructing teacher.endl; } }; void main() { student stu1; teacher tea1; coutend in mainendl; } 4.5动态创建对象 堆对象:在程序运行中申请和释放的变量或对象也称为堆对象。 动态创建堆对象的语法形式如下: new 类名 (初始值) 创建堆对象时会同时调用所创建对象的构造函数,对创建的 对象进行初始化。 例如: point *pp=new point(1,2); point *pp=new point; point *pa=new point[3]; 用delete 运算符撤消由new 建立的对象,释放对象指 针所指向的内存空间。格式为: delete 指针名 或delete [ ] 指针名 【例4-10】动态创建和撤销对象时构造函数与析构函数的调用 #includeiostream.h class point { public : point(int i=0, int j=0 ) { x=i ; y=j ; coutconstructor called.endl; } ~point() { coutdestruct called. endl; } int getx() { return x; } int gety() { return y; } private: int x, y; }; void main() { point *PA1, *PA2; PA1=new point(1,2); // 动态创建对象,调用构造函数,并赋初值1,2 PA2= new point(3,4); // 动态创建对象,调用构造函数,并赋初值3,4 coutPA1-getx(),PA1-gety()endl; cout PA2-getx(),PA2-gety()endl; delete PA1; // 撤消动态对象PA1,自动调用析构函数 delete PA2; // 撤消动态对象PA2,自动调用析构函数 point *PA=new point[2];// 动态创建对象数组,调用构造函数两次,使用参数默认值 coutPA[0].getx(),PA[0].gety()endl; delete[ ] PA; // 撤消对象数组,自动调用析构函数两次 } 4.6 this 指针 一个类可以定义多个该类的对象,当不同的对象 调用类的成员函数时,编译系统怎样知道该成员函数 应该操作的数据成员是那一个对象的数据成员呢? 例如: CDate类的成员函数setDate( )中是这样定义的: void CDate::setDate(int y,int m,int d) { year=y; month=m; day=d; } 在main( )函数中定义了2个CDate类的对象d1和d2。然后,执行 下面2条语句时: d1.setDate(2000,10,1); d2.setDate(2005,9,1); 编译系统怎样知道该成员函数应该操作的数据成员是那一 个对象的数据成员呢? C++提供了一个特殊的对象指针,该指针称为this指针。 this指针是一个隐含于类中每一个成员函数中的特殊指针(包括构造函数和析构
您可能关注的文档
- 十八届五中全会理论知识测试题(含答案)概要.doc
- 4-计算机检索原理讲述.ppt
- 第3章教学课件的设计与制作概要.ppt
- 第3章数据的输入输出与顺序程序设计概要.ppt
- 十八项反措调考题库概要.doc
- 3黄山奇松课件讲述.ppt
- 十八岁成人仪式主题班会概要.ppt
- 十二经络及腧穴概要.ppt
- 十六标工程计量报验单概要.doc
- 第3章流水施工2概要.ppt
- 中国行业标准 DB/T 100-2024区域性地震安全性评价.pdf
- 《GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架》.pdf
- GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- DB/T 100-2024区域性地震安全性评价.pdf
- 中国行业标准 GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 《农作物病虫害生物防治技术的经济效益与社会影响分析》教学研究课题报告.docx
- 1 剖宫产术后子宫瘢痕憩室治疗中的并发症预防与护理措施教学研究课题报告.docx
文档评论(0)