Both fully support the OO paradigm. Neither is categorically and universally "better" than the other. But there are differences. The most important differences are:
Static typing vs. dynamic typing
Whether inheritance must be used only for subtyping
Value vs. reference semantics
Note: If you have a Smalltalk background, this section will tell you the most important things you need to effectively use C++. Please don't get the notion that either language is somehow "inferior" or "bad", or that this section is promoting one language over the other. I am not a language bigot, having served on both the ANSI C++ and ANSI Smalltalk standardization committees, and I don't recommend language bigotry. Instead, this section is designed to help you understand (and embrace!) the differences.