c++语言中静态数据成员和静态成员函数的研究

c++语言中静态数据成员和静态成员函数的研究

ID:10805212

大小:28.50 KB

页数:8页

时间:2018-07-08

c++语言中静态数据成员和静态成员函数的研究_第1页
c++语言中静态数据成员和静态成员函数的研究_第2页
c++语言中静态数据成员和静态成员函数的研究_第3页
c++语言中静态数据成员和静态成员函数的研究_第4页
c++语言中静态数据成员和静态成员函数的研究_第5页
资源描述:

《c++语言中静态数据成员和静态成员函数的研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++语言中静态数据成员和静态成员函数的研究,.研究开发......电脑知识与技术C++语言中静态数据成员和静态成员函数的研究廖锋'.胡两平.杨巧合z(1.江西制造职业技术学院实验中心,江西南昌330001;2.南昌航空工业学院.江西南昌330063)摘要:本文深入分析了c++语言中类静态数据成员和静态成员函数的作用以及声明和访问方法.指出了程序设计中利用全局变量来实现数据共享的弊端,同时给出了解决方案,也指出了静态成员函数访问非静态成员的解决方法,并举了相应的实例来说明如何正确使用静态数据成员和静态成员函数.关键词:类;C++;静态数据成员:静态成员函数:

2、全局变量中图分类号.TP312文献标识码:A文章编号:1009—3044(2oo6)20—0162—02ResearchofStaticDataMemberandStaticMemberFunctioninC++LanguageLIAOFeng.HULi—ping,YANGQiao—he(1.ExperimentalCenterJiangxiManufacturingVocationalTechnicalCollege,Nanchang330001,China;2.NanchangInstituteofAeronauticalTechnology,Nanch

3、ang330063,China)Abstract:Onthebasisofdeepanalyzingtheeffectofstaticdatamemberandstaticmemberfunctioninc++language.anddiscussingthemethodsofded~ationandaccessing,andpointingouttheabuseofutilizingglobalvariabletoimplementshareddatainprogramdesign,andatthesRrnetimegivingouttheresolven

4、t,inaddition,indicatingtheresolventinwhichstaticmemberfunctionCanaccessnon-staticmemberfunc—tion.andfinallytheauthorgivestheexamplestoshowhowtousecorrectlvstaticdatamembel[~andstaticmemberfunction.KoyWOrds:class;C++;staticdatamember;staticmemberfunction;globalvariable1引言类是类型而不是数据对象

5、,每个类对象都是该类数据成员的拷贝.然而,在某些情况下需要让类的所有对象在类的范围内共享某个数据,例如一个类的多个对象需要根据同一个数据的状态来决定下一个动作时.这时就会想到利用全局变量.但全局变量在类的外面,既不安全,又影响了重用性,一旦程序庞大,维护量就急剧上升,使用静态数据成员,就可以解决这个问题.同时也节省了空间和构造对象时的时间.又不破坏面向对象的封装性,静态成员函数的使用也给程序设计带来很大的好处.2类静态数据成员的定义及声明方法在一个类中.如果它的数据成员使用关键字smile进行修饰,这样的成员称为静态数据成员.静态数据成员提供的是类的所有对象

6、共享的信息,无论建立多少个该类的对象.都只有一个静态数据的拷贝.尽管静态数据成员看起来有些象全局变量.但它是具有类作用域的.静态数据成员可以是公有的,私有的或受保护的.静态数据成员必须在文件作用域内初始化,并且只在文件范围中初始化一次.在数据成员声明的最前面加上系统关键字static就成了静态数据成员,例如:classzy{pubhc:staticintdata;};3类静态数据成员的访问类的静态数据成员是在编译阶段(而不是运行阶段)时进行空间的分配和初始化的,所以,类的静态数据成员是属于类的,而不是属于某个具体对象的,它们被该类的所有对象共享,被存储在一个

7、公用的内存中,即使还没有建立对象,静态数据成员就已经存在,从而类的public静态数据成员既可以利用二元作用域运算符通过类名访问,也可以通过类的任何对象直接访问,实际上,通过对象名引用静态数据成员时.C++系统只关心静态数据成员的类类型;类的pfiv~e和protected静态数据成员应通过类的public成员函数或通过类的友元访问.3.1通过类名访问静态数据成员即使类没有一个对象.其静态数据成员依然存在,所以就可以访问.一般来说.通过类名访问静态数据成员,比使用对象名访问静态数据成员要好.因为静态数据成员不是对象的成员,而是属于类的.例如:#include

8、"iostream.h''classzyfpubli

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

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

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