static

静态成员变量
静态成员函数

#ifndef __READ_H__
#define __READ_H

class A
{
private:
  int x;
  static int y;                 //静态成员
public:  
A();
  void Init(int x);
  static void show();          //静态成员函数
  static A hhx;                //只可以定义静态成员变量,否则会一直递归的去消耗内存,当然也可以定义对象的指针,因为指针的大小是固定的
};
#endif

/****************************************************************/

#include <iostream>
#include "read.h"


int A::y =4;                       //静态成员定义

A::A(){

}
void A::Init(int x){
  this->x = x;
}
void A::show()                        
{
  std::cout<<y<<std::endl;
}

/*******************************************************/

#include "read.h"
#include <iostream>
#include <list>
using namespace std;

int main()
{
  A::show();   //静态成员函数可以不定义对象就使用
  A p = A();
  p.Init(3);
}

 

静态成员被所有该类对象所共有,但不属于任何对象,所以并不是对象建立时被定义的,所以它不能由类的构造函数初始化,一般也不能在类内初始化。

 

 

 

 

 

posted on 2018-08-30 20:36  hhhhx  阅读(90)  评论(0)    收藏  举报

导航