> I wanted to use a object oriented style with constructors and polymorphism. Since it isn’t supported directly, you are free to implement it as you feel like.
I've been there in the "pure C" land some time ago. I drank all the 'C++ is shit' koolaid that was spread some time ago all over the net. And I hacked away quite a few projects in C - with my own implementation of polymorphism, strings, etc.
But then I got really really tired of it. It's all extra work you don't have to do in C++. Yes, C++ can be a horrendous mess if you use all features. But it also offers awesome syntactic sugar for "structs with methods" style programming.
std::string and vector alone save you so much time. And RAII + shared_ptr will free up another huge chunk of time you otherwise would have spent thinking about memory and resource management issues.
I think everyone who's doing C++ work should go C-only for some time just to appreciate what the lovely monster called C++ actually did for programmer productivity.
* This is no flame against C. It has its place and I appreciate its existence.