Deciphering Object-Oriented Programming with C++