- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对象的赋值和复制 对象动态建立和释放 对象浅拷贝问题 对象数组 对象指针 共用数据的保护 静态成员 3.1 对象的赋值和复制 对象复制:用已有对象快速地复制出多个完全相同对象。 格式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;} 复制构造函数只有一个参数,参数是本类的对象 3.2 对象的动态建立和释放 用new和delete运算符动态申请和释放内存(参见7.1.7节) 如果定义了Box类,可动态地建立一个对象: Box *pt=new Box(12,15,18); 系统会开辟一段内存空间来存放一个Box类无名对象;同时调用该类的构造函数,以使该对象初始化.如果内存量不足而无法构建,则返回一个0指针值 何谓浅拷贝 struct变量的复制 struct student { char *p; int sno; float grade; } a={“ZhangSan”, 200301, 85.5}, b; b = a; 3.4 对象数组 数组初始化格式:类名 对象名[长度]={构造函数(实参列表1),构造函数(实参列表2),…} 例:Student Stud[2]={Student(1001,18,87), Student(1002,19,76)} 例. 对象数组的使用方法 3.5 对象指针 对象的相关指针类型 指向对象指针 指向对象数据成员指针 指向对象函数指针 this 指针 3.5 对象指针 3.5 对象指针 指向对象数据成员的指针变量。指向对象中某个数据成员的地址。定义方法和普通变量的指针变量方法相同。例:int *p1; 如果类的数据成员为公用,则可在类外通过对象成员的指针变量访问。例:p1=t1.hour; cout*p1endl this 指针:每个成员函数都包含一个特殊的指针,即this。其值是当前被调用的成员函数所在的对象的起始地址 例:当a.volume()时,系统把对象a的起始地址赋给this指针。height*width*length 编译时即为:(this-height) *(this-width)*(this-length),相当于:(a.height)*(a.width)*(a.length) 3.6 共用数据的保护 常变量:在程序运行中不能改变的变量,const int a=3; 量变量和符号常量关系:const比#define更灵活,有类型 3.6 共用数据的保护 3.6 共用数据的保护 3.6 共用数据的保护 3.7 静态成员 3.7 静态成员 3.7 静态成员 对象属性:如果有n个同类的对象,那么每一个对象都有相同的数据成员,不同对象数据成员各不相同 类属性:描述类的所有对象共同特征的数据项,对任何同类对象,其属性值是相同的,即类的静态数据成员 静态数据成员的用途是实现同类对象之间数据共享 静态成员的初始化 3.7 静态成员 (1)如果静态数据成员被定义为私有的,是否可以在类外直接引用?如何引用? 答:不能,通过公共成员函数来引用 (2)类的静态数据成员的主要作用是什么? 答:实现同类对象之间的数据共享 (3)公用静态数据成员与全局变量的不同? 答:作用域不同,局限于类作用域。而全局变量在整个程序中 (4)静态成员函数是否可以访问类中非静态数据成员? 答:调用对象的成员函数时,系统会把对象地址赋给成员函数的this指针。而静态成员函数并不属于某一对象,没有this指针.由此决定了静态成员函数不能直接访问类中非静态成员 第3次实验作业 第3次实验作业选择题 (1)商店销售某一商品,每天公布统一折扣(discount)。同时允许销售人员销售时灵活掌握价格(price)。在此基础上,对每一次购10件以上者,可以享受9.8折扣优化。现已知当天的3名售货员的销售情况如下: 销售员号 销售件数 销货价格 101 5 23.5 102 12 24.5 103 100 21.5 编写程序,计算当日此商品的总销售款(sum),以及每件商品的
您可能关注的文档
- 第2课《雪地贺卡》1(北师大版七上)范例.ppt
- 第2课罢黜百家独尊儒术公开课范例.ppt
- 第2课第4节声情并茂--押韵和平仄(人教版选修《语言文字应用》)范例.ppt
- 咖啡馆主题设计课题.ppt
- 《让心理学与文学共舞》课题.doc
- 《人鸦》整本书阅读课题.doc
- 《软件测试》标准软件技术课题.doc
- 《软件测试基础》期末A卷及参考课题.doc
- 《软件测试基础》期末B卷及参考课题.doc
- 卡拉特拉瓦2课题.ppt
- 2025届四川省成都市成都实验高级中学物理高一上期中统考试题含解析.doc
- 保定市重点中学2025届高三物理第一学期期末监测试题含解析.doc
- 2025届湖北省随州市第二高级中学、郧阳中学物理高三第一学期期末统考模拟试题含解析.doc
- 甘肃省庆阳市宁县第二中学2025届高二物理第一学期期中达标检测模拟试题含解析.doc
- 2025届江苏省射阳中学物理高三上期中经典试题含解析.doc
- 2025届山东、湖北部分重点中学物理高三上期中统考模拟试题含解析.doc
- 陕西师范大学附属中学2025届物理高一上期末预测试题含解析.doc
- 甘肃省临泽县第一中学2025届高三物理第一学期期末质量跟踪监视试题含解析.doc
- 中国科学院三州分院中学2025届高三物理第一学期期中检测试题含解析.doc
- 2025届河北省保定市第七中学物理高三上期中调研模拟试题含解析.doc
文档评论(0)