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);
}
静态成员被所有该类对象所共有,但不属于任何对象,所以并不是对象建立时被定义的,所以它不能由类的构造函数初始化,一般也不能在类内初始化。
浙公网安备 33010602011771号