Actually my first introduction into C++ was straight into the deep-end with some horrendously hideous code, that hasn't scared me off though. C++ is in some ways so much more easy to write than Java or other high end languages where you have no real pointer types.
Object Oriented coding especially in the languages you name is an extention of imperative programming. There are only two real types of programming style and those are Imperative and Declarative, first categorie are procedural and OO, while the last has logical and functional programming.