Object oriented programming has become the preferred approach for most software projects. Object oriented programming offers a new and powerful way to cope with complexity. Object oriented programming concepts are useful for constructing complex physical systems such as car, airplanes etc.
Instead of viewing the program as a series of steps to be carried out ,it views as a group of objects that have certain properties and can take appropriate actions . Among the Object oriented programming languages available C++ is most widely used language.
Different programs based on Inheritance, polymorphism, encapsulation, overriding requires knowledge of C++. This subject acts as a base for languages JAVA, VC++ & UML.
For books see the following link: