皮德常《面向对象的程序设计》课程ppt

皮德常《面向对象的程序设计》课程ppt

ID:38512398

大小:206.00 KB

页数:86页

时间:2019-06-14

皮德常《面向对象的程序设计》课程ppt_第1页
皮德常《面向对象的程序设计》课程ppt_第2页
皮德常《面向对象的程序设计》课程ppt_第3页
皮德常《面向对象的程序设计》课程ppt_第4页
皮德常《面向对象的程序设计》课程ppt_第5页
资源描述:

《皮德常《面向对象的程序设计》课程ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章类的高级部分皮德常南京航空航天大学计算机科学与技术学院1主要内容9.1静态成员9.2友元9.3对象赋值问题9.4拷贝构造函数9.5运算符重载9.6对象组合29.1静态成员例:一个学生类,定义其对象张三、李四,他们分别维护着类成员的一份副本(学号、姓名、籍贯等)。如果要统计一个班学生总数?用类外的变量记录,违背了数据封装。用类的一个数据成员记录,导致多个副本,不仅冗余,而且势必造成数据不一致。39.1.1静态数据成员1.用关键字static声明;2.同一个类中的所有对象都共享该变量;3.必须在类外定义和初始化,用(::)来指明所属

2、的类。4.静态变量不依赖于对象而存在,无论是否定义该类的对象,这种类型的变量都存在。静态数据成员实际上是在类外定义的一个变量,它的生存期和整个程序的生存期一样,在定义对象之前,静态数据成员就已经存在。4classStaticDemo{staticintx;inty;public:voidputx(inta){x=a;}voidputy(intb){y=b;}intgetx(){returnx;}intgety(){returny;}};intStaticDemo::x;//静态变量x将被StaticDemo类的所有对象共享,例如:St

3、aticDemoobj1,obj2;obj1.putx(5);obj1.puty(l0);obj2.puty(20);cout<<"x:"<

4、来调用静态成员函数。静态成员函数只能引用属于该类的静态数据成员或静态成员函数。见例【例9-2】。6//budget2.h文件的内容。classBudget{staticfloatcorpBudget;floatdivBudget;public:Budget(){divBudget=0;}voidaddBudget(floatb){divBudget+=b;corpBudget+=divBudget;}staticvoidmainOffice(float);floatgetDivBudget(){returndivBudget;}flo

5、atgetCorpBudget(){returncorpBudget;}};7//Contentsofbudget2.cpp#include"budget2.h"floatBudget::corpBudget=0;//Definitionofstaticmemberfunction.voidBudget::mainOffice(floatmoffice){corpBudget+=moffice;}8//主程序pr9-2.cpp的内容#include"budget2.h“voidmain(){floatamount;inti;float

6、bud;cout<<"Entermainoffice'sbudgetrequest:";cin>>amount;Budget::mainOffice(amount);Budgetdivisions[4];9for(i=0;i<4;i++){cout<<"EnterthebudgetforDivision";cout<<(i+1)<<"";cin>>bud;divisions[i].addBudget(bud);}cout<<"Herearethedivisionbudget:";for(i=0;i<4;i++){cout<<"

7、tDivision"<<(i+1)<<"t$";cout<

8、数可以是一个外部函数,也可以是另外一个类的函数成员。3.将某个函数声明为一个类的友元方式,前面加friend。12【例9-3】求两个点之间的距离。classPoint{intxPos,yPos;public:Point(

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

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

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