programming.nbk: Home | Index | Next Page: C++ Exception handling | Previous Page: C++ Class inheritance


 C++ Class Static data and functions

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 Ruby Class Variable.


programming.nbk: Home | Index | Next Page: C++ Exception handling | Previous Page: C++ Class inheritance


Notebook exported on Monday, 7 July 2008, 18:56:06 PM Eastern Daylight Time