网站大量收购独家精品文档,联系QQ:2885784924

5数据保护与共享教程.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5数据保护与共享教程

数据的共享和 共用数据的保护;第一节 静态数据;1、静态数据成员;注意:;说明:;[例]分析下列程序的输出结果。;2、静态成员函数;[例] 分析下列程序的输出结果。;第2节 类的友元;友元的引入可以提高程序的运行效率; 友元是一种定义在类外部的类或普通函数,但需要在类体内进行说明(前面加friend关键字); 友元不是类的成员函数,但可以通过对象名访问类中的私有成员; 友元的分类 友元函数 友元类 ;1、友元函数;[例];void Time24(Time time) {couttime.hours: time.minutesendl; } void main() { Time time1(20,30),time2(10,45); Time12(time1); Time24(time1); Time12(time2); Time24(time2); } ;2、友元类;#include iostream.h class X {friend class Y; public: void Set(int i) {x=i;} void Display() {coutx=x, “y=yendl;} private: int x; static int y; }; class Y {public: Y(int i,int j); void Display(); private: X a; };;int X::y=1; Y::Y(int i,int j) { a.x=i; X::y=j; } void Y::Display() {coutx=a.x, ; couty=X::yendl; } void main() { X b; b.Set(5); b.Display(); Y c(6,9); c.Display(); b.Display(); };第3节 共享数据的保护; 为达到共享数据保护的目的,常用的有: 对象的常成员 常对象 常引用 常指针;1、对象的常成员;用const修饰的成员函数为常成员函数。 常成员函数声明格式: 类型说明符 常成员函数名(参数表)const ; 注意: const是函数类型的一部分 常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数 const关键字可以用于对重载函数的区分;#include iostream using namespace std; class Box {public: Box(int,int,int); int volume()const; int area(); private: int height; int width; int length; };;2、常对象;如果需引用常对象中的数据成员,只需将该成员函数声明为const即可,即常成员函数: int area() const; 常成员函数可以访问常对象中的数据成员,但仍然不允许修改常对象中数据成员的值。;3、对象??常引用;int Box::area() {height=10; return(height*width);} void main() { Box box1(12,25,30); Box const box=box1; coutbox1.volume()endl; coutbox1.area()endl; coutbox.area()endl; };int Box::area(Box const boxc) {height=boxc.height; boxc.height=10; return(height*width);} void main() { Box box1(12,25,30),box2(30,40,50); Box const box=box1; coutbox2.area(box)endl; coutbox1.area(box2)endl; };4、指向对象的常指针;int Box::area(Box *const boxc) { height=boxc-height; boxc-height=10; Box m(1,2,3); boxc=m; return(height*width);} void main() { Box box1(12,25,30),box2(30,40,50); Box *box=box1;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档