#include <iostream>
struct combatEntity
{
virtual void Update() { std::cout << "Combat Entity\n"; };
};
struct mob : combatEntity
{
virtual void Update() { std::cout << "Mob\n"; };
};
struct monster : mob
{
virtual void Update() { std::cout << "Monster\n"; };
};
int main(int argc, char **argv)
{
combatEntity *ce = new monster;
ce->Update();
delete ce;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IGNvbWJhdEVudGl0eQp7Cgl2aXJ0dWFsIHZvaWQgVXBkYXRlKCkgeyBzdGQ6OmNvdXQgPDwgIkNvbWJhdCBFbnRpdHlcbiI7IH07Cn07CgpzdHJ1Y3QgbW9iIDogY29tYmF0RW50aXR5CnsKCXZpcnR1YWwgdm9pZCBVcGRhdGUoKSB7IHN0ZDo6Y291dCA8PCAiTW9iXG4iOyB9Owp9OwoKc3RydWN0IG1vbnN0ZXIgOiBtb2IKewoJdmlydHVhbCB2b2lkIFVwZGF0ZSgpIHsgc3RkOjpjb3V0IDw8ICJNb25zdGVyXG4iOyB9Owp9OwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp7Cgljb21iYXRFbnRpdHkgKmNlID0gbmV3IG1vbnN0ZXI7CgljZS0+VXBkYXRlKCk7CglkZWxldGUgY2U7CgoJcmV0dXJuIDA7Cn0=