类的静态成员变量在类中只能声明,定义和初始化要在类外:
class Myclass
{
private:
static int a; // 类内声明
}
int Myclass::a = 10; // 类外定义和初初化,注意,这时不需要带static
也有些编译器支持在类内定义并初始化,但大多数编译器不支持,所以安全的做法还是类内声明,类外定义和初始化。
类的静态成员函数的声明和定义与普通的成员函数相同,既可以在类内声明和定义,也可以在类内声明,类外定义:
class Myclass
{
public:
static int fun();
}
int Myclass::fun()
{
return 1;
}
需要注意的是,在类外的函数定义前不能写static。
本文深入解析类的静态成员变量如何在类外声明、定义和初始化,以及静态成员函数的声明与定义方法。强调了类内声明、类外定义与初始化的重要性,并提供实例说明。
706

被折叠的 条评论
为什么被折叠?



