programming in C++. 3rd ed. - Cohoon, James P. (Tata McGraw hill, 2007)