#include <iostream>
class Base {
public:
    static Base *staticMember;

    static void baseMethod();
};

Base * Base::staticMember;

class Derived : public Base {
public:
    void derivedMethod();
};

void Base::baseMethod() {
    if ( staticMember )
        std::cout << "not null";
    else
        std::cout << "null";
}

void Derived::derivedMethod() {
    staticMember = new Derived();
}

int main() {
    Derived* derived = new Derived();
    derived->derivedMethod();
    Base::baseMethod();
}