For my MSc module "G64OOS - Object Oriented Systems" (http://www.cs.nott.ac.uk/~pos/g64oos/2012-2013/) I recommend the following books:
Analysis and Modelling:
(1) UML Distilled (3rd Edition) [Fowler 2004] {very compact - a good reference}
(2) Object Oriented Analysis and Design with Applications (3rd Edition) [Booch et al 2007] {my personal favorite, but quite thick ;-)}
(3) Head First: Design Patterns [Freeman & Freeman 2006] {the best book for a gentle start into OOD design patterns}
(4) Design Patterns: Elements of Reusable Object Oriented Software [Gamma et al 1995] (for advanced studies)
Programming:
(1) Sams Teach Yourself C++ in 24 Hours (5th Edition) [Liberty and Cadenhead 2011] (focus on C++)
(2) Object Oriented Programming with C++ (2nd Edition) [Parsons 2000] (focus on OO) {my personal favorite as it teaches C++ and OO at the same time}
(3) The C++ Programming Language (3rd Edition) [Stroustrup 1997] (reference from the creator of C++) {I did not get much out of this book - only listed it in respect to Stroustrup}
Online Resources:
(1) The New Boston - C++ Tutorials [http://thenewboston.org/list.php?cat=16]
(2) cplusplus - C++ Language Tutoirials [http://www.cplusplus.com/doc/tutorial/]
Forgot Operational Research part of your question.
When my students need Operations Research knowledge I recommend them to read "Introduction to Operations Research, 8e [Hillier and Lieberman 2005]".
As I only teach the last topic in the book in my MSc module "G54SIM - Simulation for Decision Support" (http://www.cs.nott.ac.uk/~pos/g54sim/2012-2013/) I usually recommend to the students of this module to use "Simulation - The practice of model development and use [Robinson 2004]" as their companion.
http://isocpp.org/get-started // note that this is the official Standard C++ Foundation website, which also a good source of news to stay up to date: http://isocpp.org/
*Important* -- do note that in contrast with, say, Smalltalk, C++ is not just an object-oriented language. It's much more than this, it's a multi-paradigm programming language:
In particular, one of the most important and widely used (the prime example being the C++ Standard Library itself, see also, e.g., Boost C++ Libraries, http://www.boost.org/) paradigms in modern C++ is generic programming:
Nowadays, I'd even be inclined to reject any book that over-emphasizes the OOP part (particularly if it does so at a cost of de-emphasizing the equally vital alternatives) -- it's important, but it's not the whole story and most of the time it's insufficient. It may also lead to bad practices and teach obsolete techniques mostly leading down the path of using C++ as "C with Classes":
For introductory operations research you can refer Operations Research: Principles and Practice, 2nd Ed by Phillips and Ravindran...Its a highly to the point discussion of basic modeling methodologies of OR i.e. the linear programming etc. Regarding stochastic programming one very nice book is by S M Ross...Moreover I want to say here that a prime share of OR goes to formulations of the problems which I think an art rather than a science.
Regarding C++ I would recommend the book by Deitel and Deitel...Its a lengthy book a bit, but very nicely described for the beginners as well as the proficient ones...
For Operational Research 'Introduction to Operations Research' by Frederick Hillier is an excellent book with comprehensive examples. 'C++ the Complete Reference' by Herbert is a good book. For UML, 'Elements of UML' by Scott can serve the purpose.