Programming : principles and practice using C++ - Stroustrup, Bjarne (Addison-Wesley, 2014)