#include <iostream>

class ITest {
public:
    ITest(){}
    virtual ~ITest(){}
    virtual void foo() = 0;
};

class Test : public ITest {
public:
    virtual void foo() {
        if (!this) {
            std::cout<<"Blah!"<<std::endl;
            return;
        }
        std::cout<<"Foo!"<<std::endl;
    }
};

int main() {
    Test* t = NULL;
    t->foo();
    return 0;
}