温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中怎么操作静态成员函数

发布时间:2021-07-15 11:38:57 来源:亿速云 阅读:210 作者:Leah 栏目:编程语言

C++中怎么操作静态成员函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成员函数的实现中不能直接引用类中说明的非静态成员,可以引用类中说明的静态成员,如果C++静态成员函数中要引用非静态成员时,可通过对象来引用。下面通过例子来说明这一点。

#include   class M  {  public:  M(int a) { A=a; B+=a;}  static void f1(M m);  private:  int A;  static int B;  };   void M::f1(M m)  {  cout<<"A="<< cout<<"B="<< }   int M::B=0;  void main()  {  M P(5),Q(10);  M::f1(P); file://调用时不用对象名  M::f1(Q);  }

读者可以自行分析其结果。从中可看出,调用静态成员函数使用如下格式:

<类名>::<静态成员函数名>(<参数表>);

一个类的静态成员函数不能像非静态成员函数那样“默认调用”它的非静态成员函数(因为静态成员函数没有隐含的this参数)。在一个类的静态成员函数中,只要通过某种方式得到了一个指向本类型的对象的指针。

并且有合适的access   level,   就可以对此对象调用其非C++静态成员函数
1.用来保存对象的个数。  

  • 漫谈C++编译的9个阶段

  • C++中的C++代码真的这么复杂吗

  • Visual C++ 6.0开发工具介绍

  • 如何学好C++库类?

  • C++函数调用方式解析


2.作为一个标记,标记一些动作是否发生,比如:文件的打开状态,打印机的使用状态,等等。  
3.存储链表的***个或者***一个成员的内存地址。  

静态成员函数的作用基本上相当于一个带有命名空间的全局函数
1、你不需要生成一个对象的实例就可以直接使用该函数。如,Cxxx::MyStaticFunc();
2、窗口回调函数需使用静态成员函数或全局函数
3、线程调用需使用C++静态成员函数或全局函数

使用静态数据成员可以节省内存,因为它是所有对象所公有的,因此,对多个对象来说,静态数据成员只存储一处,供所有对象共用。静态数据成员的值对每个对象都是一样,但它的值是可以更新的。只要对静态数据成员的值更新一次,保证所有对象存取更新后的相同的值,这样可以提高时间效率。

看完上述内容,你们掌握C++中怎么操作静态成员函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI