A static member of a class is created once, when the program starts.
There is only one static member, but each instance of the class can
access it as if it were part of that particular instance.
A static data member can be initialized in a source file like a regular
global variable:
int Test::public_int = 3;
class Test {
public:
static int public_int;
private:
static int private_int;
}
int main()
{
Test::public_int = 145; // ok
Test::private_int = 12; // wrong, don't touch
// the private parts
return (0);
}
A static function can only access the static data of the member. A
public static function can be called without specifying an existing
object:
Test::static_method(data)
or with an object:
Test foo;
foo.static_method(data)
A C++ static member is like a
Programming Ruby:Ruby Programming Ruby:Ruby Data Storage.