Moving from C to C++ [electronic resource] : Discussing programming problems, why they exist and how C++ solves them /
Goyal, Arunesh.author.
The author says it best, "I hope to move you, a little at a time,from understanding C to the point where C++ becomes your mindset". This remarkable book is designed to streamline the process of learning C++ in a way that discusses programming problems, why they exist, and the approach C++ has taken to solve such problems. "You can't just look at C++ as a collection of features; some of the features make no sense in isolation.  You can only use the sum of the parts if you are thinking about design, not simply coding.  To understand C++, you must understand the problems with C and with programming in general.  This book discusses programming problems, why they are problems, and the approach C++ has taken to solve such problems.  Thus, the set of features that I explain in each chapter will be based on the way that I see a particular type of problem being solved in C++." Tailor made to treat difficult concepts in a simple and practical way, the book focuses on building a customizable model for the reader which helps in deducing the solution of any puzzle that one might encounter. The book presents the material one simple step at a time, so the reader can easily digest each concept before moving on. It uses examples that are as simple and as short as possible. This book does not to use any particular vendor’s version of C++ because, for learning the language, the details of a particular implementation are not as important as the language itself.   All code in the book was run against the Visual Studio (Microsoft) C++ compiler and Apple's Xcode C++ compiler to ensure accuracy.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""Acknowledgments""; ""Introduction""; ""Chapter 1: Introduction to Objects""; ""The Progress of Abstraction""; ""An Object Has An Interface""; ""The Hidden Implementation""; ""Reusing the Implementation""; ""Inheritance: Reusing the Interface""; ""Is-a vs. is-like-a Relationships""; ""Interchangeable Objects with Polymorphism""; ""Creating and Destroying Objects""; ""Exception Handling: Dealing with Errors""; ""Analysis and Design""; ""Phase 0: Make a Plan""; ""The Mission Statement""; ""Phase 1: What are we making?""
""Phase 2: How will we build it?""""Five Stages of Object Design""; ""Guidelines for Object Development""; ""Phase 3: Build the Core""; ""Phase 4: Iterate the Use Cases""; ""Phase 5: Evolution""; ""Plans Pay Off""; ""Extreme Programming""; ""Write Tests First""; ""Pair Programming""; ""Why C++ Succeeds""; ""A Better C""; ""Youâ€?re Already on the Learning Curve""; ""Efficiency""; ""Systems Are Easier to Express and Understand""; ""Maximal Leverage with Libraries""; ""Source-Code Reuse with Templates""; ""Error Handling""; ""Programming in the Large""; ""Strategies for Transition""
""Guidelines""""Training""; ""Low-Risk Project""; ""Model from Success""; ""Use Existing Class Libraries""; ""Donâ€?t Rewrite Existing Code in C++""; ""Management Obstacles""; ""Startup Costs""; ""Performance Issues""; ""Common Design Errors""; ""Review Session""; ""Chapter 2: Making and Using Objects""; ""The Process of Language Translation""; ""Interpreters""; ""Compilers""; ""The Compilation Process""; ""Static Type Checking""; ""Tools for Separate Compilation""; ""Declarations vs. Definitions""; ""Function Declaration Syntax""; ""Function Definitions""; ""Variable Declaration Syntax""
""Including Headers""""Standard C++ include Format""; ""Linking""; ""Using Libraries""; ""How the Linker Searches a Library""; ""Secret Additions""; ""Using Plain C Libraries""; ""Your First C++ Program""; ""Using the iostream Class""; ""Namespaces""; ""Fundamentals of Program Structure""; """"Hello, World!""""; ""Running the Compiler""; ""More About iostream""; ""Character Array Concatenation""; ""Reading Input""; ""Calling Other Programs""; ""Introducing Strings""; ""Reading and Writing Files""; ""Introducing Vector""; ""Review Session""; ""Chapter 3: The C in C++""; ""Creating Functions""
""Function Return Values""""Using the C Function Library""; ""Creating Your Own Libraries with the Librarian""; ""Controlling Execution""; ""True and False""; ""Using if-else""; ""Using while""; ""Using do-while""; ""Using for""; ""The break and continue Keywords""; ""Using switch""; ""Using and Misusing goto""; ""Recursion""; ""Introduction to Operators""; ""Precedence""; ""Auto-Increment and Auto-Decrement""; ""Introduction to Data Types""; ""Basic Built-in Types""; ""Using bool, true, and false""; ""Using Specifiers""; ""Introduction to Pointers""; ""Modifying the Outside Object""
""Introduction to C++ References""
Includes index.
The author says it best, "I hope to move you, a little at a time,from understanding C to the point where C++ becomes your mindset". This remarkable book is designed to streamline the process of learning C++ in a way that discusses programming problems, why they exist, and the approach C++ has taken to solve such problems. "You can't just look at C++ as a collection of features; some of the features make no sense in isolation.  You can only use the sum of the parts if you are thinking about design, not simply coding.  To understand C++, you must understand the problems with C and with programming in general.  This book discusses programming problems, why they are problems, and the approach C++ has taken to solve such problems.  Thus, the set of features that I explain in each chapter will be based on the way that I see a particular type of problem being solved in C++." Tailor made to treat difficult concepts in a simple and practical way, the book focuses on building a customizable model for the reader which helps in deducing the solution of any puzzle that one might encounter. The book presents the material one simple step at a time, so the reader can easily digest each concept before moving on. It uses examples that are as simple and as short as possible. This book does not to use any particular vendor’s version of C++ because, for learning the language, the details of a particular implementation are not as important as the language itself.   All code in the book was run against the Visual Studio (Microsoft) C++ compiler and Apple's Xcode C++ compiler to ensure accuracy.
Computer science.
Computer Science, general.