First off, learning OO via C++, C# or Java will not give a very good first impression of it because they allow you to break OO rules way too easily. To see real OO in action you should check out Smalltalk via squeak http://www.squeak.org/ (it's free). Smalltalk is designed so it's hard to write anything procedurally and it's very easy to learn (something like 5 reserved words total).
Second off, the benefit of OO is that it is much easier for OTHER coders to learn and modify a properly designed OO piece of code than a procedurally designed one. Trust me. One of my first tasks as a 'professional programmer' was to understand a 30 page main procedurally coded simulator. Not fun. Not at all. The guy who wrote it had no problem finding exactly where code mods had to go but when he was reassigned to another project all that knowledge went with him. When I had to learn a well designed OO program it was MUCH MUCH easier.
Chekoff,(Sorry, I just read the Star Trek story)in summary, the difference between a good coder and a great coder is NOT that their code compiles,works, and that one can write code quicker than the other, its how well the design can be learned and modified by others. In the coding business, single points of failures aka losing contracts/business because your stud coder got hit by a bus, is bad.