数据共享和成员特性课件.ppt

数据共享和成员特性课件.ppt

ID:58939120

大小:194.50 KB

页数:44页

时间:2020-09-28

数据共享和成员特性课件.ppt_第1页
数据共享和成员特性课件.ppt_第2页
数据共享和成员特性课件.ppt_第3页
数据共享和成员特性课件.ppt_第4页
数据共享和成员特性课件.ppt_第5页
资源描述:

《数据共享和成员特性课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章 数据共享和成员特性第11章数据共享和成员特性11.1静态成员11.2友元11.3成员其他特性11.4this指针11.5综合应用实例11.1静态成员静态成员是类中的成员,是类的一部分,在类外不可访问,从而起到保护作用。静态成员有静态数据成员和静态成员函数之分。静态数据成员与静态变量相似,具有静态生存期,是在类中声明的全局数据成员,能被同一个类的所有对象所共享。公有静态成员函数不仅可以通过类对象来访问,还可通过“类名::静态成员函数”的形式在程序中直接调用。11.1.1静态数据成员使用静态数据成员可以节省内存,因为它只存储一处,供所有对象共享。静态数据成员的值是

2、可修改的,但它对每个对象都是一样的。与静态变量相似,静态数据成员是静态存储(static)的,但定义一个静态数据成员与一般静态变量不一样,它必须按下列两个步骤进行:(1)在类中使用关键字static声明静态数据成员。(2)在类外为静态数据成员分配内存空间并初始化。其定义格式如下:<数据类型><类名>::<静态数据成员名>=<值>[例Ex_StaticData]静态数据成员的使用示例#includeusingnamespacestd;classCSum{public:CSum(inta=0,intb=0)//A{nSum+=a+b;}intgetSum

3、(){returnnSum;}voidsetSum(intsum){nSum=sum;}private:staticintnSum;};intCSum::nSum=0;intmain(){CSumone(10,2),two;cout<<"one:sum="<

4、1)静态数据成员是类中的成员,它的访问属性同普通数据成员一样,可以为public、private和protected。(2)静态数据成员的实际定义和初始化本身是不受public、private和protected等访问属性限制的。(3)静态数据成员可看成是类中声明、类外定义的静态全局变量,具有静态生存期,在程序中从实际定义时开始产生,到程序结束时消失。(4)当静态数据成员为public时,在类外对该成员的访问和引用可通过对象,也可直接引用。<类名>::<静态数据成员名>例:classCSum{…public:StaticintnSum;};intCSum::nSum=0

5、;intmain(){CSumone;one.nSum=10;CSum::nSum=12;cout<

6、ata){nSum=data;}public:intnSum;};CSum::ChangData(5);静态成员函数只能引用静态数据成员。[例Ex_StaticMember]静态成员的使用示例#includeusingnamespacestd;classCData{public:staticvoidAdd(inta)//添加数据a{if(pCur>=data+20)cout<<"内存空间不足,无法添加!"<

7、ivate:staticintdata[20];//声明静态内存空间staticint*pCur;//声明静态指针成员};intCData::data[20];//实际定义,默认的初值为0int*CData::pCur=data;//实际定义,设初值为data数组的首地址voidCData::Print(void)//类外定义的静态成员函数{for(inti=0;i<(pCur-data);i++)cout<

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

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

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