C++ is a popular, versatile, and widely used programming language, which supports all features of C language and also provides a number of additional features that make it object oriented. It includes concepts and features such as classes, objects, dynamic memory management, operator overloading, and many more. Besides learning the syntax, understanding the philosophical background helps the students appreciate the choices made by the creator of the language very easily. It is difficult to answer certain questions such as the following without really knowing the idea behind creating the language: Why is there no standard library for graphics in C++? Why is the base class embedded in the derived class rather than having a pointer to it? Why is there a need for virtual function? Such question can only be answered if one understands the domain of application of C++ and Stroustrup’s idea behind creating the language.
About the Book
Programming with ANSI C++:A Step-by-step Approach is designed as a textbook for students of engineering (BE/BTech). It discusses the philosophical issues related to the language in order to make the concepts clearer to the users. The book assumes basic knowledge of the fundamental concepts of C and the art of programming. Those who have already studied C would find this book to be an excellent starter. Wherever possible, comparison with C as well as Java is provided. The book demonstrates and highlights the difference of working in C++, problems with programming in C or Java, and better ways to do the same in C++
ANSI C and ANSI C++ have been used as the default language throughout the book. The worked examples and codes presented have been specifically designed to demonstrate the concept and syntax as also real-life applications. By no means is it claimed that the way to program shown here is the best or most efficient. The variable naming convention used is Java-like and care has been taken to use meaningful, though at times very long, variable names.
To make the textbook ideal for classroom learning, several examples and program codes have been included. All of them have been test run with Visual C++. Net (VC++ 7.0) and most of them have also been tested on Linux 8.0 (gnu C++ 3.2),. Numerous review questions, exercises, and project ideas that require knowledge of advanced topics have also been included in every chapter. Two model question papers have also been provided at the end of the book.