If you want to use any inheritance then you need to story individual pointers to objects, so the 4 bytes are required anyway (and it's not like 4 bytes per object will actually make an impact). If you only have one object then I'd suggest just giving them a bool active variable and then just setting it to zero to show that they're 'dead' or whatever. As to the unbearableness, it only affects maybe three lines of your code, and besides, you *are* using C++. What did you expect?
really though, unless there's some big reason why you're using an array like this, I'd recommend you switch to using a std::vector<SomeObject*>