(4.8)--(09)静态成员面向对象程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

面向对象程序设计

第4章类与对象

静态成员01.静态数据成员02.静态函数成员

第4章类与对象静态成员同一类的各个对象之间如何共享数据?静态成员的提出是为了解决数据共享的问题,它比全局变量在实现数据共享时更为安全,是实现同类多个对象数据共享的好方法。?static类型标识符静态数据成员名;C++中将使用staic?修饰的数据成员称为静态数据成员。声明静态数据成员:在类中增加用于共享的新的普通成员。在类中设置一种“特殊”的成员——静态成员。静态数据成员静态成员函数class类名{ …… static类型说明符成员名; ……};1.静态数据成员

关于静态数据成员的几点说明:(1)静态数据成员不属于任何一个对象,而是属于类。(2)在一个类的对象空间内不包含静态数据成员的空间。(3)静态数据成员的存储空间的分配是在程序一开始运行时就被分配了,而并不是在程序运行过程中,在某一函数内进行空间分配和初始化的。(4)类的静态数据成员必须进行初始化,且初始化语句应当写在程序的全局区域中,并且必须指明其数据类型与所属类的类名,其格式表示如下:数据类型标识符类名::变量名=值;(5)对于在类的public部分说明的静态数据成员,可以不使用成员函数而直接访问,格式是:类名::静态数据成员名第4章类与对象静态成员

第4章类与对象静态成员【例4-24】带有静态数据成员的Person类。#includeiostreamusingnamespacestd;classPerson{public:voidset_name(stringnew_name);voidset_age(unsignednew_age);stringget_name(){returnname;}unsignedget_age(){returnage;}voiddisp();voidwalk(){}voidoperate(){}staticintcount;private:stringname;unsignedage;};intPerson::count=0;使用域限定符在类外初始化静态数据成员定义静态数据成员countintmain(){Personp;p.count=3;coutp.countendl;Person::count=5;coutPerson::countendl;}2.静态数据成员的访问(1)通过类名及域限定符直接访问类名::静态数据成员名(2)通过对象名访问对象.公有静态数据成员=some_value;对象访问类名访问运行结果35提醒一般把静态数据成员的访问属性定义为private的,如果要对其进行访问等操作,可以通过相应的函数成员来实现。

第4章类与对象静态成员3.静态函数成员静态成员函数是类的成员函数,。不属于类的任何对象静态函数成员只能改变类的静态成员。class类名{static函数返回类型函数名(形参列表);{函数体}};静态成员函数中数据成员的引用的区别对静态数据成员,直接引用对非静态数据成员,通过对象引用【例4-25】静态成员的作用示例。#includeiostream#includestringusingnamespacestd;classPerson{public:Person(stringnew_name,unsignednew_age);Person(constPersonp);Person(){count++;}voidset_name(stringnew_name);voidset_age(unsignednew_age);stringget_name(){returnname;}unsignedget_age(){returnage;}voiddisp();staticintgetCount();private:stringname;unsignedage;staticintcount;//定义静态数据成员count};4-13.mp4

第4章类与对象静态成员intPerson::count=0;//使用域限定符在类外初始化静态数据成员Person::Person(stringnew_name,unsignednew_age){ name=new_

文档评论(0)

177****2883 + 关注
实名认证
文档贡献者

热爱教育,专注于教育领域创作与分享,让我们共同进步。

1亿VIP精品文档

相关文档