background image

C++类静态数据成员与类静态成员函数

声明为 static 的类成员或者成员函数便能在类的范围内共同享,我们把

 

这样的成员称做静态成员和静态成员函数。   

下面我们用几个实例来说明这个问题,类的成员需要保护,通常情况下

为了不违背类的封装特性,我们是把类成员设置为 protected(保护状态)
的,但是我们为了简化代码,使要说明的问题更为直观,更容易理解,我们

public

 

  以下程序我们来做一个模拟访问的例子,在程序中,每建立一个对象我们

 

设置的类静态成员变自动加一,代码如下:
#include

 

<

iostream

>  

using

 

namespace

 

std;  

  

class

 

Internet  

{  

public

:  

  

  

Internet(

char

 

*name,

char

 

*address)  

  

  

{  

  

   

   strcpy(Internet::name,name);  

  

   

   strcpy(Internet::address,address);  

  

   

   

count

++;  

  

  

}  

  

  

static

 

void

 

Internet::Sc()

//

 

  

  

{  

  

   

   

cout

<<

count

<<endl;  

  

  

}  

  

  

Internet

 

&Rq();  

public

:  

  

  

char

 

name[20];  

  

  

char

 

address[20];  

     

static

 

int

 

count

;

// 这 里 如 果 写 成 static   int   count=0;

 

就 是 错 误 的

};  
  
Internet&   Internet::Rq()

//

 

{  
  

  

return

 

*

this

;  

}  
  

int

 

Internet::

count

 

=

 

0;

//

 

void

 

vist()  

{  
      Internet   a1(" 中 国 软 件 开 发 实 验 室 ","www.cndev-lab.com");