一 ,Static 关键字的声明
static关键字只能在类体中进行声明,如:
class MyStatic
{
private::
static const string name;
}
二,static关键字的初始化
所有的static变量的初始化必须要在类体外进行初始化,象前面的例子可以这样来初始化
const string MyStatic::name("MyStatic");
但是有一个例外,就是整型的const静态数据成员可以在类体中用一常量值初始化.例如:
Class MyStatic
{
private::
static const int nameSize = 16;
static const string char name[nameSize];
}
//初始化
const int MyStatic::nameSize;
const char MyStatic::name[nameSize] = "MyStatic";
如果别的类型,就不可以这样初始化的,如以下的做法是错误的:
Class MyStatic
{
private::
static const string char name[nameSize] = "MyStatic";
}
三,Static 成员的引用
static成员的引用有两个方式,
(1) 通过类名进行引用
如上面的例子可以这样来引用:
MyStatic::name = "ssd";
(2)通过成员访问符进行引用:
MyStatic myStatic;
myStatic.name = "ssd";