I have this Practical C++ Programming book, and i think its from 1997, and there's a few code changes that won't compile in most compilers: First of all, the headers still have the .h extension like #include Namespaces are nonexistent as well as the C++ strings (I'm guessing these were added recently?) so cout and cin are usesd without the std:: Other minor details too.. BTW I find the C++ file I/O system very confusing compared to the simple C one..