一静态成员静态成员分为静态数据成员和静态成员函数.pptVIP

一静态成员静态成员分为静态数据成员和静态成员函数.ppt

  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文档。上传文档
查看更多
第15章 静态成员与友元 一、静态成员 一、静态成员 二、友元函数 三、作 业 * * 一、静态成员 静态成员分为:静态数据成员和静态成员函数 1.静态数据成员 ⑴公共静态数据成员可被类的外部访问,保护或私有的静态数据成员只可被类的内部访问。 ⑵静态数据成员是类的所有对象的共享成员,而不是属于某个对象的成员。 例:分析下面程序的输出结果 #include iostream.h class myclass { public: myclass(int a,int b,int c); void printnumber( ); void printsum( ); private: int A,B,C; static int sum; }; int myclass::sum=10; //必须在类外对静态数据成员初始化 myclass::myclass(int a,int b,int c) { A=a;B=b;C=c; sum+=A+B+C; } void myclass::printnumber( ) { cout“number=A, B,Cendl; } void myclass::printsum( ) { coutsum=sumendl; } void main( ) { myclass M(3,7,10),N(14,9,1); M.printnumber( ); N.printnumber( ); M.printsum( ); N.printsum( ); } number=3,7,10 number=14,9,1 sum=54 sum=54 运行结果 例:分析下面程序的输出结果 #include iostream.h class Myclass { public: Myclass(); void GetSum(int a); int Sum; private: int A; }; Myclass::Myclass() { Sum=10; } void Myclass::GetSum(int a) { A=a; Sum+=A; } void PrintSum(Myclass A) { coutSum=A.Sumendl; } void main( ) { Myclass M,N; M.GetSum(3); N.GetSum(7); PrintSum(M); PrintSum(N); } 运行结果 Sum=13 Sum=17 例:分析下面程序的输出结果 #include iostream.h class Myclass { public: void GetSum(int a); static int Sum; private: int A; }; int Myclass::Sum=10; void Myclass::GetSum(int a) { A=a; Sum+=A; } void PrintSum(Myclass A) { coutSum=A.Sumendl; } void main( ) { Myclass M,N; M.GetSum(3); N.GetSum(7); PrintSum(M); PrintSum(N); } 运行结果 Sum=20 Sum=20 2.静态成员函数 ⑴静态成员函数与静态数据成员一样都属于类的静态成员,都不是对象成员。因此,对静态成员不能进行默认访问。即必须指明对象名或类名。 ⑵由于静态成员函数属于类而非静态成员属于对象,因此,在静态成员函数中不允许引用类的非静态成员。 ⑶静态成员函数中可以访问对象中的非静态成员。 例:写出下列程序的输出结果 #include iostream.h class student { public: static int number() {return nos; } protected: char name[40]; static int nos; }; int student::nos=1; void main() { student s; couts.number()endl; //ok 用对象访问静态成员函数 coutstudent::number()endl; //ok 用类名引导静态成员函数 } 运行结果 1 1 例:指出下面程序的执行结果 #include iostream.

文档评论(0)

676200 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档