doIt — невиртуальная, так ее вызывать нельзя с нулевым указателем (неопределенное поведение), но ты, нарушая правила вызвал и тебе "повезло", кстати, попробуй в ней что-нибудь кому-нибудь присвоить.
Следующая функция — виртуальная, чтоб ее вызвать нужна втбл, указатель на которую д.б. в объекте и тут тебе уже не "повезло" — у тебя нулевой указатель.
Of course, the code must be complete enough to compile and link.