Words Of Wisdom said:
C++ does indeed add much of the necessary OOP functionality to C such as polymorphism and multiple inheritence however it is in no way a requirement. The transition from C to C++ is much akin to PHP 4 to PHP 5 (for a more modern comparison); it adds functionality and makes many more tools available to the developer without requiring them. If you want to see languages really designed with OOP from the ground up, look to Ruby or Smalltalk. |
We are close to agreeing. As you said C++ has many features that were added to the language with OOP in mind. If you do not know OOP concept it is unlikely, though not impossible, that you are using those features to their fullest if at all.
As a counter example, templates is a feature in C++ that can be used to great benefit without any OOP concepts getting involved. So yes you can accomplish many tasks with C++ without using OOP concepts, but you are unlikely to be using C++ to its fullest.
But still considering all you can do with C++ without OOP, if I was interviewing an engineer that claimed to be a senior C++ engineer and he did not have a handle on OOP concepts, I would not consider hiring him into a senior role. For that matter a senior engineer period, be it for Java, Objective C, .NET, javascript, actionscript, or any other modern language development.







