《C++程序设计》电子教案第6章 静态成员和友元.ppt

《C++程序设计》电子教案第6章 静态成员和友元.ppt

ID:48769471

大小:89.00 KB

页数:26页

时间:2020-01-22

《C++程序设计》电子教案第6章  静态成员和友元.ppt_第1页
《C++程序设计》电子教案第6章  静态成员和友元.ppt_第2页
《C++程序设计》电子教案第6章  静态成员和友元.ppt_第3页
《C++程序设计》电子教案第6章  静态成员和友元.ppt_第4页
《C++程序设计》电子教案第6章  静态成员和友元.ppt_第5页
资源描述:

《《C++程序设计》电子教案第6章 静态成员和友元.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章静态成员与友元6.1静态成员6.2友元函数6.3友元类6.1静态成员6.1.1静态数据成员6.1.2静态成员函数返回首页6.1.1静态数据成员C++中,同一个类定义多个对象时,每个对象拥有各自的数据成员(不包括静态数据成员),而所有对象共享一份成员函数和一份静态数据成员。静态数据成员是类的所有对象中共享的成员,而不是某个对象的成员,因此可以实现多个对象间的数据共享。静态数据成员不属于任何对象,它不因对象的建立而产生,也不因对象的析构而删除,它是类定义的一部分,所以使用静态数据成员不会破坏类的隐蔽性。静态数据成员的使用

2、方法如下:(1)静态数据成员的定义与一般数据成员相似,但前面要加上static关键词。(2)静态数据成员的初始化与一般数据成员不同,静态数据成员初始化的格式如下:<类型><类名>::<静态数据成员>=<值>;(3)在引用静态数据成员时采用格式:<类名>::<静态数据成员>(4)静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。例6-1:用静态数据成员实现班会费管理程序。#includeclassperson{char*name;intage;staticintcount;//定义静态成员

3、,存放班会费public:voidsetData(char*s,intn){name=s;age=n;};voidgetData(intn){count=count+n;};voidspend(intn){count=count-n;};voiddisplay(){cout<

4、ry",18);demo1.getData(1000);demo2.display();//输出1000demo2.spend(300);demo1.display();//输出700}返回本节6.1.2静态成员函数静态成员函数与静态数据成员类似,也是从属于类,静态成员函数的定义是在一般函数定义前加上static关键字。调用静态成员函数的格式如下:<类名>::<静态成员函数名>(<参数表>);静态成员函数与静态数据成员一样,与类相联系,不与对象相联系,只要类存在,静态成员函数就可以使用,所以访问静态成员函数时不需要对象。静

5、态成员函数没有this指针,因此,静态成员函数只能直接访问类中的静态成员,若要访问类中的非静态成员时,必须借助对象名或指向对象的指针。例6-3:用静态成员函数实现班会费管理程序。#includeclassperson{char*name;intage;staticintcount;//定义静态成员,存放班会费public:voidsetData(char*s,intn){name=s;age=n;};voidgetData(intn){count=count+n;};voidspend(intn){

6、count=count-n;};staticvoiddisplay(){cout<

7、lay();//用对象的类型去调用静态成员函数}例6-4:写出下面程序的执行结果。#includeclassM{public:M(inta){A=a;B+=a;}staticvoidf1(Mm);private:intA;staticintB;};voidM::f1(Mm){cout<<"A="<

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

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

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