C++: A Beginner's Guide, Second Edition