C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt

C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt

ID:50041224

大小:558.00 KB

页数:44页

时间:2020-03-08

C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt_第1页
C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt_第2页
C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt_第3页
C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt_第4页
C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt_第5页
资源描述:

《C++程序设计 教学课件 作者 郑莉第5章共享与数据保护.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第5章共享与数据保护清华大学郑莉2目录5.1类的静态成员5.2友元类5.3共享数据的保护35.1类的静态成员全局变量是实现数据共享的一种方法,类的对象与对象之间数据的共享可以通过全局变量实现,但是这种方法与类的信息隐藏实现相矛盾为了安全起见,在C++中应该尽量减少全局变量的使用在C++中要实现类的对象与对象之间数据的共享,可以使用静态成员。静态成员不是属于某个对象的,而是属于类的。它是某个类的对象共同拥有的。静态成员可以分为静态数据成员和静态函数成员45.1.1静态数据成员被类的所有对象所共享,而不是属于某个对象的只需存储一次,就可以供所有对象使用,从而可以节省空间由于被所有

2、对象共享,因此它的值对每一个对象都是一样的静态数据成员可以被类的对象或者类更改,而且这种更改对所有类的对象都有效5.1类的静态成员55.1.1静态数据成员声明:定义或声明在类内部,在该成员名的类型前加关键字static初始化:在类外部进行,一般放在类的实现部分,也可以放在其他位置,比如在主函数前面等初始化格式:数据类型类名::静态数据成员名=初始值;在初始化时,只能使用类名来访问静态数据成员访问:如果静态数据成员是public类型的,则在类外部既可以使用类名限定来访问,也可以使用对象名限定来访问5.1类的静态成员65.1.1静态数据成员例5-1静态数据成员初始化和访问5.1类的

3、静态成员classFruit{//定义Fruit类public:Fruit(floatnewVolume=0.1,floatnewWeight=0.1);Fruit(Fruit&f);//Fruit类的拷贝构造函数~Fruit();//Fruit类的析构函数floatGetVolume();floatGetWeight();intGetFruitNum();private:floatvolume;floatweight;staticintfruitNum;};//Fruit类的静态数据成员75.1.1静态数据成员Fruit::Fruit(floatnewVolume,float

4、newWeight){volume=newVolume;weight=newWeight;fruitNum++;//将静态数据成员fruitNum的值加一}Fruit::Fruit(Fruit&f){//Fruit类的拷贝构造函数定义volume=f.GetVolume();weight=f.GetWeight();fruitNum++;//将静态数据成员fruitNum的值加一}5.1类的静态成员85.1.1静态数据成员Fruit::~Fruit()//Fruit类的析构函数定义,其功能是将静态数//据成员fruitNum的值减一{fruitNum--;}//以下为Fruit

5、类的其他函数实现floatFruit::GetVolume(){returnvolume;}floatFruit::GetWeight(){returnweight;}5.1类的静态成员95.1.1静态数据成员intFruit::GetFruitNum(){returnfruitNum;}intFruit::fruitNum=0;/*在main函数的前面,将Fruit类的静态数据成员fruitNum的值初始化为0。这里使用类名Fruit来限定引用静态数据成员fruitNum,虽然fruitNum是private型的,但是却可以直接以这种方式初始化。除了这种场合,在其他地方,例如

6、主函数main()内部,就不允许直接访问了。*/5.1类的静态成员105.1.1静态数据成员intmain(){Fruitf1;//定义Fruit类的第一个对象f1cout<<"afterf1,f1.fruitNum="<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。