爱问知识人 爱问教育 医院库

c 中静态成员和静态方法是什么意思?简要举例说明用处。

首页

c++中静态成员和静态方法是什么意思?简要举例说明用处。

c++中静态成员和静态方法是什么意思?简要举例说明用处。

提交回答

全部答案

    2019-06-20 11:11:42
  •   *** 我主要说的关键是“静态成员是属于类的”,而不属于任何对象所有 *** 在此对一些内容作详细的解释,其中小部分与楼上有点相同,但我说的关键处,与它不同,并修改一些说法。 首先,我在这里把楼主的“静态成员”和“静态方法”,分别对应下面的“静态数据成员”和“静态成员函数”。
      并把他们都成为静态成员。(它们实际是同一个概念的不同说法。) “静态成员是属于类的,由该类的全体对象共享”------就是对是这样的 “无论你建立了多少个该类的对象,静态成员在内存上只有一个”------我要说的是,无论你建多少个该类的对象,所有成员函数在内存上也只有一个 为什么说静态成员是属于类的呢?? 因为, 我们假设 class A{public: static int i;void display(){} };并定义对象 A abc; 一般的引用类的成员的方法是通过对象去引用:abc。
      i; abc。display;。 但可以通过类 A::i来引用i , 通过A::display()来引用display()。 《这里是要特别要注意的!!!》 而普通成员就不行, 虽然不管是静态成员还是普通成员,在内存里只有一个副本。但从这个角度去看,静态成员是属于类的。
       对于静态成员函数,我们也许还分不清楚这个问题,但是, 特别是对于静态数据成员,我们就很容易理解了。 如果不定义为静态数据成员,那么每个对象都分别有一个i的副本(拷贝)。但定义为静态数据成员之后,所有的对象共享有一个i的副本,就是说i在内存里就一个副本。
       那么,不同对象引用i,对i的改变的话, 其他对象中i的值也会被改变,而且所有对象的值都是相同的。 在引用静态数据成员时,可以不通过对象而通过类,静态数据成员在内存只有一个,而且可以通过类来引用。这是静态数据成员属于类,很明显的。 这是实现不同对象间数据共享的一种方法。
       静态成员函数,与静态数据成员类似。就不说,需要注意的是,它在内存里始终只有一个副本(普通成员函数也一样)。 关于静态成员的生命周期,在此就不多说了。

    距***

    2019-06-20 11:11:42

类似问题

换一换

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):