static.cppRUN

//static的用法
#include <iostream>

//函数中的static,相当于Fun_static函数域中的全局变量
void Fun_static()
{
	static int count = 0; //第一次调用时初始化,之后就不再调用。且count一直存在

	count++;
	std::cout << count << std::endl;
}

class Vector
{
private:
	int x, y;

	static int count;
	//静态数据成员。
	//相当于类Vector域中的全局变量。Vector::count,所有Vector创建的对象都包含这个全局变量
	//此为声明,须在类声明的外面定义, int Vector::count = 0;
public:
	Vector()
	{
		x = 0;
		y = 0;

		Vector::count++; //或者count++;
	}

	Vector(int x, int y)//带参数的普通构造函数
	{
		this->x = x;
		this->y = y;

		Vector::count++; //或者count++;
	}

	static int Count()//static函数
	{//只能使用static数据成员, 调用方式Vector::Count();
		return count;
	}
};

int Vector::count = 0; //类Vector的static数据成员定义

int main()
{
	Vector v1, v2(2,3);

	std::cout << Vector::Count() << std::endl;
	
	return 0;
}