- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一3数据的共享与保护分析
C++程序设计 第3章 数据的共享与保护 本章主要内容 共用数据的保护 对象的赋值与复制 静态成员 友元 §3.1共用数据的保护 共用数据的保护:为保证数据在一定范围内共享,同时又保证它不被任意修改 一、常对象: 定义一般形式 类名 const 对象名[(实参表列)]; 或 const 类名 对象名[(实参表列)]; 例:const Box box1(1,1,1); 常对象的所有数据成员的值都不能被修改,也不能调用该对象的非const型的成员函数。 二、常对象成员 在声明类时将成员声明为const 1.常数据成员 const 类型 数据成员名; 例:const float length; length 为常数据成员,它的值不能发生改变 常数据成员只能通过构造函数的参数初始化表对常数据成员进行初始化。 在类体中声明一个常数据成员后,该类所有对象此常数据成员的值都不能改变 2.常成员函数 声明形式:类型 函数名(参数表列) const; 定义形式:类型 函数名(参数表列) const { 函数体 } 常成员函数只能引用本类的数据成员,但不能修改数据成员 常成员函数可以引用const数据成员,也可以引用非const数据成员; const数据成员可以被const成员函数引用,也可以被非const成员函数引用; 三、指向对象的常指针 定义一般形式: 类名 *const 指针变量名=对象地址; 例: Box box1(1,1,1); Box *const p1=box1; 指针变量的指向关系不变,始终指向一个对象,但可以改变其所指对象中数据成员的值。 常用来做函数的形参,目的是不允许在函数调用的过程中改变指针变量的值。 四、指向常对象的指针变量 1.指向常变量的指针变量 定义一般形式: const 类型名 *指针变量; 例:const int a; const int *pt=a; 说明: 常变量只能用指向常变量的指针变量来指向 指向常变量的指针变量还可以用来指向非const变量 此时不能通过指针改变指针所指向变量的值 2.指向常对象的指针变量 定义形式:const 类名 *指针变量名; [例]读程改错 五、对象的常引用 引用:变量或对象的引用就是变量或对象的别名。 对象的常引用:const 类名 引用对象名; 常作函数的形参,保证在函数调用过程中不改变引用对象的值。 §3.2 对象的赋值 对象的赋值: 一般形式:对象名1=对象名2; 说明: 对象的赋值只对其中的数据成员赋值,而不对成员函数赋值; 类的数据成员中不能包括动态分配的数据。 对象的复制 一般形式:类名 对象2(对象1); 例:Box box2(box1); 含义:用box1对象复制出一个box2对象 另一种复制形式: 类名 对象2=对象1; 是建立新对象的一种方法 用这种方法建立对象时要调用一个特殊的构造函数—复制构造函数(copy constructor) 复制构造函数 功能:用一个已知的对象来初始化一个被创建的同类对象; 特点 函数名同类名,无返回值和函数类型; 只有一个参数,是对某个对象的引用; 类名::类名(const 类名 引用名) 每个类都必须有一个复制构造函数; 如果类中没有说明复制构造函数,则编译系统自动生成一个具有上述形式的缺省拷贝初始化构造函数,作为该类的公有成员; [例] 调用复制构造函数的三种情况 明确表示由一个对象复制另一个对象时; 例如:Box box1(box2); 当对象作为函数实参传递给函数形参时(传值调用); 例如:fun(box1); 当对象作为函数返回值时(数据值); 例如:return box1; §3.3 静态成员 目的:解决数据共享问题,即不通过全局对象,而实现同类多个对象之间的数据共享。 一、静态数据成员 一、静态数据成员(续) 一、静态数据成员(续) [例]分析下列程序的输出结果。 二、静态成员函数 二、静态成员函数(续) [例] 分析下列程序的输出结果。 §3.4 友元 一、友元函数 [例] 分析下列程序的输出结果。 友元成员函数 二、友员类 [例]分析下列程序的输出结果。 实验二 验证例题 调试(实验指导书P145) 三 调试(实验指导书P164) 3(1),3(2) * *中北大学计算机系基础教研室 * ?2013-2 North University of China * void main() { void fun(const Box *p)
您可能关注的文档
- 制高点多目标智能跟踪系统设计方案V2.0-副本分析.doc
- 前七章知识点总结分析.docx
- 【高优指导】2017高考政治一轮复习课件:2.1.1生活在人民当家作主的国家分析.ppt
- 【高分突破】(广东地区)2016中考化学专题复习一实验探究题课件新人教版分析.ppt
- 【高优指导】2017版高三化学一轮复习考点规范练37晶体结构与物质的性质新人教版选修3分析.doc
- 【高优指导】2017高考历史一轮复习近代中国维护国家主权的斗争课件人民版分析.ppt
- 制药行业总结分析.ppt
- 前厅主管题库分析.doc
- 【高考复习方案】(全国通用)2016高考地理二轮复习专题七农业区位选择与区域农业的可持续发展课件分析.ppt
- 【高考方案】2016届高考政治(人教版必修一)一轮总复习课件:第二单元第4课生产与经济制度(共47张PPT)分析.ppt
最近下载
- 151页-【低空经济】低空无人机公共测试场与验证基地设计方案.pdf
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf VIP
- 生物酶解技术.pptx VIP
- “素养导向”初中物理大单元教学策略及案例.docx VIP
- 小学四年级综合实践活动《衣服巧收纳》公开课课件.pptx VIP
- 公司建设项目全过程造价咨询工作规范.doc VIP
- 教学进度计划表.pdf VIP
- 直肠癌放射治疗靶区勾画.ppt
- 软件工程项目造价技术规范.pdf VIP
- 2025年左玉辉-环境学.pptx VIP
文档评论(0)