#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();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpjbGFzcyBCYXNlIHsKcHVibGljOgogICAgc3RhdGljIEJhc2UgKnN0YXRpY01lbWJlcjsKCiAgICBzdGF0aWMgdm9pZCBiYXNlTWV0aG9kKCk7Cn07CgpCYXNlICogQmFzZTo6c3RhdGljTWVtYmVyOwoKY2xhc3MgRGVyaXZlZCA6IHB1YmxpYyBCYXNlIHsKcHVibGljOgogICAgdm9pZCBkZXJpdmVkTWV0aG9kKCk7Cn07Cgp2b2lkIEJhc2U6OmJhc2VNZXRob2QoKSB7CiAgICBpZiAoIHN0YXRpY01lbWJlciApCiAgICAgICAgc3RkOjpjb3V0IDw8ICJub3QgbnVsbCI7CiAgICBlbHNlCiAgICAgICAgc3RkOjpjb3V0IDw8ICJudWxsIjsKfQoKdm9pZCBEZXJpdmVkOjpkZXJpdmVkTWV0aG9kKCkgewogICAgc3RhdGljTWVtYmVyID0gbmV3IERlcml2ZWQoKTsKfQoKaW50IG1haW4oKSB7CiAgICBEZXJpdmVkKiBkZXJpdmVkID0gbmV3IERlcml2ZWQoKTsKICAgIGRlcml2ZWQtPmRlcml2ZWRNZXRob2QoKTsKICAgIEJhc2U6OmJhc2VNZXRob2QoKTsKfQ==