- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
静态成员的初始化 Date::date(int dd,int mm,int yy):default_day(1,1,1900)对吗? 3.7 静态成员 3.7 静态成员—小结 (1)如果静态数据成员被定义为私有的,是否可以在类外直接引用?如何引用? 答:不能,通过公共成员函数来引用 (2)类的静态数据成员的主要作用是什么? 答:实现同类对象之间的数据共享 (3)公用静态数据成员与全局变量的不同? 答:作用域不同,局限于类作用域。而全局变量在整个程序中 (4)静态成员函数是否可以访问类中非静态数据成员? 答:调用对象的成员函数时,系统会把对象地址赋给成员函数的this指针。而静态成员函数并不属于某一对象,没有this指针.由此决定了静态成员函数不能直接访问类中非静态成员 3.7 静态成员—小结 第3次实验作业 本次练习必做2道题,提交方式同前面,第5周末之前交。 1. 在第2次作业的基础上,需要考虑“职工编号”在程序怎么能靠人工输入呢?对这样的数据,应是随职工的增加自动编号。要求修改程序,每增加一个职工,就构造一个employee对象,自动将该对象的“individualEmpNo”自动加1。另外,程序在4个职工信息的需要增加到20个职工。因此本次作业需要解决3个问题:如何在构造对象时,自动修改对象的individualEmpNo值?如何保证所有employee对象的individualEmpNo属性是根据构造对象的顺序递增的?如何保存24个职工信息? 2.建立一个对象数组,内放10个学生的数据(姓名、学号、成绩),建立一个函数max,用指向对象的指针做函数参数,在max函数中找出10个学生中成绩最高者,并输出其学号.根据学号,将对象的姓名、成绩等等信息使用拷贝构造函数,拷贝到一个新对象中。对对象进行打印输出 第3次实验作业选择题 (1)商店销售某一商品,每天公布统一折扣(discount)。同时允许销售人员销售时灵活掌握价格(price)。在此基础上,对每一次购10件以上者,可以享受9.8折扣优化。现已知当天的3名售货员的销售情况如下: 销售员号 销售件数 销货价格 101 5 23.5 102 12 24.5 103 100 21.5 编写程序,计算当日此商品的总销售款(sum),以及每件商品的平均售价。并打印计算结果。另外要求: 1)要求使用静态数据成员和静态成员函数 * 对象的赋值和复制 对象动态建立和释放 对象浅拷贝问题 对象数组 对象指针 共用数据的保护 静态成员 参考教材第9章的内容 第3讲 类和对象(下) 3.1 对象的赋值和复制 1.对象的赋值一般形式为:对象名1 = 对象名2 对象复制:用已有对象快速地复制出多个完全相同对象。 格式1:类名 对象2(对象1);如:Box box2(box1); 格式2:类名 对象名2 = 对象名1; 在建立对象2时调用一个特殊的构造函数—拷贝构造函数(copy constructor).系统缺省的拷贝构造函数的举例: Box::Box(const Box b) {height=b.height; width=b.width; length=b.length;} 复制构造函数只有一个参数,参数是本类的对象 2.对象的复制与拷贝构造函数 问题:(1)对象的赋值和拷贝有区别吗? (2)普通构造函数和拷贝构造函数的如何重载? 3.1 对象的赋值和复制 C++在定义对象时,发生显式复制。在作为函数参数或返回值时,会发生隐式复制。但都调用拷贝构造函数 today=func(today);?today=temp;是拷贝还是赋值? 用new和delete运算符动态申请和释放内存(参见7.1.7节) 如果定义了Box类,可动态地建立一个对象: Box *pt=new Box(12,15,18); 系统会开辟一段内存空间来存放一个Box类无名对象;同时调用该类的构造函数,以使该对象初始化.如果内存量不足而无法构建,则返回一个0指针值 3.2 对象的动态建立和释放 提问:New 和malloc()区别?Delete 和free()区别? 无名对象如何引用? 在不再需要使用由new建立的对象时,可以用delete运算符予以释放。如:delete pt; 执行delete时,在释放内存空间之前,自动调用析构函数 何谓浅拷贝 struct变量的复制
您可能关注的文档
- 华南师范大学《电磁学与光学》第2章电磁学基本理论.ppt
- 华南师范大学《电磁学与光学》第3章媒质的电磁性质和边界条件.ppt
- 华南师范《模拟电子电路》2012模电各章重点内容及总复习.doc
- 华南师范大学《电磁学与光学》第5章场论和路论的关系.ppt
- 华南师范大学《电磁学与光学》第6章平面电磁波.ppt
- 华南师范大学《电磁学与光学》第7章规则波导和空腔谐振器.ppt
- 华南师范大学《电磁学与光学》第4章静态场分析.ppt
- 华南师范大学《电磁学与光学》第8章电磁波的辐射.ppt
- 华南师范大学《电磁学与光学》电磁波复习课件.ppt
- 华南师范大学《电磁学与光学》电磁场与电磁波必考重点填空题经典.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)