C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt

C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt

ID:51617176

大小:115.50 KB

页数:33页

时间:2020-03-26

C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt_第1页
C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt_第2页
C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt_第3页
C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt_第4页
C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt_第5页
资源描述:

《C++程序设计基础 安志远ppt第3章 静态成员与友元.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章静态成员与友元1学习目标熟练掌握C++中静态数据成员的声明、定义及使用掌握C++中静态成员函数的定义及使用熟练掌握C++中普通函数作为友元函数的使用掌握C++中成员函数作为友元的使用掌握C++中类作为友元的使用23.1静态成员3.1.1静态数据成员3.1.2静态成员函数3.1.3静态成员使用33.1.1静态数据成员静态数据成员是类数据成员的一种特例。每个类只为静态数据成员分配一个存储空间,它由该类的所有对象共同拥有,从而实现了同一个类的不同对象之间的数据共享。静态数据成员具有静态生存期,在程序运行时就存在,直到程序运行结束

2、。43.1.1静态数据成员静态数据成员的声明,是在数据成员前面加关键字static。类的静态数据成员在使用前必须进行初始化,并且一定要在类外完成。其初始化的形式如下:<数据类型><类名>::<静态数据成员名>=<初始值>;例如:intWorker::total=0;53.1.1静态数据成员静态数据成员属于类,而不属于任何一个对象,所以,在类外只能通过类名对它进行引用。静态数据成员引用的一般形式如下:<类名>::<静态数据成员名>;63.1.1静态数据成员注意:静态数据成员同一般数据成员一样有访问控制限制。当静态数据成员被声明为私

3、有成员时,只能在类内直接引用它,在类外无法引用。当静态数据成员被声明为公有成员或保护成员时,可以在类外通过类名对它进行引用。73.1.1静态数据成员例3.1使用静态数据成员,统计工人的每周工作时间。#includeclassWorker{private:char*name;intworktime;public:staticinttotal;//用于统计总工作时间voidworkTime(intn);};voidWorker::workTime(intn){worktime=n;total+=n;}83.1

4、.1静态数据成员intWorker::total=0;//静态数据成员初始化voidmain(){Workerworker1,worker2,worker3;worker1.workTime(48);worker2.workTime(36);worker3.workTime(38);cout<<"Total="<

5、员函数与类相联系,所以访问静态函数时,不需要使用对象。引用静态成员函数的一般格式:<类名>::<静态成员函数名>(<参数表>)103.1.2静态成员函数可以使用对象去引用静态成员函数。用这两种方法调用静态成员函数都是允许的,而且意义相同。静态成员函数可以直接引用该类的静态数据成员和成员函数,而不能直接引用非静态数据成员,如果要引用,必须通过参数传递的方式得到对象名,然后再通过对象名来引用。113.1.2静态成员函数例3.2用两种方法调用静态成员函数。#includeclassPerson{private:

6、charname[20];staticintID;public:staticintnumber();};intPerson::number(){returnID;}123.1.2静态成员函数intPerson::ID=1001;voidmain(){Personp1;cout<<"类名引用:"<classM

7、yclass{private:intm;//非静态数据成员staticintn;//静态数据成员public:Myclass();//构造函数staticintgetn(Myclassa);};Myclass::Myclass(){m=10;}143.1.2静态成员函数intMyclass::getn(Myclassa){cout<

8、etn(app1)<#include<

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

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

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