静态成员变量与静态成员函数的声明与定义

类的静态成员变量在类中只能声明,定义和初始化要在类外:

class Myclass
{
private:
	static int a;      // 类内声明
}

int Myclass::a = 10;        // 类外定义和初初化,注意,这时不需要带static

也有些编译器支持在类内定义并初始化,但大多数编译器不支持,所以安全的做法还是类内声明,类外定义和初始化。

类的静态成员函数的声明和定义与普通的成员函数相同,既可以在类内声明和定义,也可以在类内声明,类外定义:

class Myclass
{
public:
	static int fun();
}

int Myclass::fun()
{
	return 1;
}

需要注意的是,在类外的函数定义前不能写static。


版权声明:本文为mwill原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。