- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]VC类与对象
《面向对象程序设计与Visual C++6.0教程》 《面向对象程序设计与Visual C++6.0教程》 第4章 类与对象 本章主要内容: ●类的定义与使用 ●类的数据成员和成员函数 ●类成员的访问控制方法 ●类的实现和对象的创建 ●访问类成员的方法 ●构造函数与析构函数 ●复制构造函数及深复制与浅复制 ●类作用域 ●静态成员 ●类的友元 ●常对象 4.1 类 ●类是对具有相同属性(数据)和行为(操作)的一组对象的抽象。 ●面向对象程序设计的核心任务是类的确定和对象的创建,而不是将各个具体的对象逐一进行描述。 ●忽略各具体对象的非本质特征,抽象出本质特征与共性,然后形成类的概念,对象是类的实例。 ●从语法分析,类也是一种数据类型,即用户自定义的数据类型,而一个一个具体的对象可以视为属于这一数据类型的一个变量。 1. 类的定义 ●类是对具有相同属性和行为的一组对象的抽象与统一描述; ●类的定义包括行为和属性两个部分; ● 属性以数据表示,行为通过函数实现。 C++类定义的格式: class 类名 { public: 公有数据成员和成员函数; protected: 保护数据成员和成员函数; private: 私有数据成员和成员函数; }; 各成员函数的实现; 类定义和使用时应注意: ●类的定义中不能对数据成员进行初始化。 ●公有部分是类对外的接口,一般应先说明公有部分 ● 类的任何成员都必须指定访问属性,一般将数据成员定义为私有成员或保护成员,将成员函数定义为公有成员。 ●类中的数据成员可以是C++语法规定的任意数据类型,但不能用存储类型auto、register或extern进行修饰。 New 运算符介绍 本章例4-7程序中出现了New运算符; New运算符用于动态内存分配,在后续章节中有专门介绍; New 运算符使用形式: 指针所指向的数据类型应与new 运算符后的数据类型相同,若申请成功则返回分配单元的首地址给指针变量,否则返回空指针值(即0)给指针变量。例如: New 运算符举例 int *p1; double *p2; p1=new int(12); p2=new double [100]; 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1; 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2; 2. 对象的生存期 ●生存期是一个时间概念; ●类对象的生存期是指对象从被创建开始到生存期结束为止的时间; ●类对象在声明时被创建,在释放时被终止。 复制构造函数的定义格式 class 类名 { public: 类名(参数表); //构造函数 类名(const 类名 对象名); //复制构造函数 ┇ }; 类名::类名(const 类名 对象名) { 函数语句 } 复制构造函数的调用 以下三种情况下由编译系统自动调用: ●声明语句中用类的一个已知对象初始化该类的另一个对象时; ●当对象作为一个函数实参传递给函数的形参时,需要将实参对象去初始化形参对象时,需要调用复制构造函数; ●当对象是函数的返回值时,由于需要生成一个临时对象作为函数返回结果,系统需要将临时对象的值初始化另一个对象,需要调用复制构造函数。 复制构造函数的特点: ●复制构造函数名与类名相同,并且没有返回值类型; ●复制构造函数可写在类中,也可以写在类外; ●复制构造函数有且仅有一个参数,即是同类对象的引用; ●如果没有显式定义复制构造函数,系统自动生成一个默认形式的复制构造函数。 默认复制构造的形式 类名::类名(const 类名 对象名); 4. 浅复制与深复制 关于浅复制: ●在用一个对象初始化另一个对象时,只复制了数据成员,而没有复制资源,使两个对象同时指向了同一资源的复制方式称为浅复制; ●默认复制构造函数所进行的是简单数据复制,即浅复制。 关于深复制: ●通过一个对象初始化另一个对象时,不仅复制了数据成员,也复制了资源的复制方式称为深复制; ●自定义复制构造函数所进行的复制是深复制。 4.5 静态成员 静态成员提供了同一个类不同对象数据成员的共享机制。 静态成员包括: ●静态数据成员 ●静态成员函数 static 静态成
您可能关注的文档
- [工学]CAD工程制图习题解答.ppt
- [工学]ch6 系统设计.ppt
- [工学]ch6 语义分析和中间代码生成.ppt
- [工学]chap3_3直流电机原理三直流电动机.ppt
- [工学]chapt9 局域网.ppt
- [工学]Chapter3 - Discrete Time Fourier Transform.ppt
- [工学]COM第7章语义.ppt
- [工学]Course 1+2 Advances in Unconventional Shale Gas Resources -OVERVIEW & INTRODUCTION.ppt
- [工学]EM矢量场论2007.ppt
- [工学]FORTRAN语言程序第八章子程序1-45页.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- [紧固件标准]JBZQ 4331-2006 六角开槽螺母.pdf VIP
- DMP3200系列保护测控装置使用说明书.pptx VIP
- 学会宽容-主题班会.ppt VIP
- SPC培训教材---完整版-PPT.ppt VIP
- 生物医药生物医药临床监查员岗面试真题题库参考答案和答题要点.docx VIP
- 群塔交叉作业防碰撞应急预案.pdf VIP
- 【地理】2021年高考真题——福建卷(含答案) .pdf VIP
- 化工过程安全管理五要点-陈毅峰-双语版.pdf VIP
- 【《白酒企业员工培训外包管理的案例分析—以迎驾贡酒为例》10000字】 .docx VIP
- YM-WI-SMT-065 A0 松下 NPM-D3 贴片机保养指导书.pdf VIP
文档评论(0)