static是静态关键字.
静态函数可以无需类的实例直接通过类名跟作用域来调用
静态函数只能引用该类的静态成员与静态函数.
class a{
static void f();
void g();
}
main(){
a::g();//错误
a::f();//可以的
}
静态函数可以无需类的实例直接通过类名跟作用域来调用
静态函数只能引用该类的静态成员与静态函数.
class a{
static void f();
void g();
}
main(){
a::g();//错误
a::f();//可以的
}
也就是说它的生命周期类似于全局函数.
例如:
class A
{
static s_Func() {NULL;}
Func() {NULL;}
};...
A::s_Func(); // OK
A::Func() // error!!!, 一般成员函数必须由具体的对象调用
A a;
a.Func(); // OK, 就象这样才行
静态成员函数不同访问一般的数据成员,只能访问静态数据成员,也只能调用其他的静态成员函数.
静态成员函数没有this指针.
不过类似这种问题, 书上都有, 自己去找答案, 可能会更好一些:)))))))0