تفاصيل عن الكتاب

C++ How to Program

Deitel

For courses in C++ Programming
This package includes MyProgrammingLab™

The best-selling C++ How to Program is accessible to readers with little or no programming experience, yet comprehensive enough for the professional programmer. The Deitels’ signature live-code approach presents the concepts in the context of full working programs followed by sample executions. The early objects approach gets readers thinking about objects immediately–allowing them to more thoroughly master the concepts. Emphasis is placed on achieving program clarity and building well-engineered software. Interesting, entertaining, and challenging exercises encourage students to make a difference and use computers and the Internet to work on problems. To keep readers up-to-date with leading-edge computing technologies, the Tenth Edition conforms to the C++11 standard and the new C++14 standard.

This package includes MyProgrammingLab, an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to the programming concepts in this book. Through hundreds of practice problems, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong–and why.



MyProgrammingLab should only be purchased when required by an instructor. Please be sure you have the correct ISBN and Course ID. Instructors, contact your Pearson representative for more information.

Features
This title is a Pearson Global Edition. The Editorial team at Pearson has worked closely with educators around the world to include content which is especially relevant to students outside the United States.



Focus on object-oriented programming

Early-objects approach. Accessible to even the most novice programmer, the book introduces the basic concepts and terminology of object technology in Chapter 1 and then asks readers to develop their first customized classes and objects in Chapter 3. Presenting objects and classes early gets readers thinking about objects immediately so they can master these concepts more thoroughly.
C++ Standard Library String. C++ offers two types of strings–string class objects (which are used beginning in Chapter 3) and C strings. Most occurrences of C strings are replaced with instances of C++ class string to make programs more robust and eliminate many of the security problems of C strings. C strings are discussed later in the book to prepare readers for working with the legacy code that they will encounter in industry.
C++ Standard Library array. C++ offers three types of arrays–arrays and vectors (which are used beginning in Chapter 7) and C-style, pointer-based arrays which are discussed in Chapter 8. The primary treatment of arrays uses the Standard Library’s array and vector class templates instead of built-in, C-style, pointerbased arrays. Built-in arrays are also covered because they remain useful in C++ and and will enable students to read legacy code.
Crafting valuable classes. To prepare readers to build valuable reusable classes, Chapter 10 begins with a test-drive of class template string–allowing students to see an elegant use of operator overloading before they implement their own customized class with overloaded operators. In the Chapter 10 case study, students will build their own custom Array class, then in the Chapter 18 exercises they will convert it to a class template.
Case studies in object-oriented programming. Several well-engineered, real-world case studies are presented, including the Account class in Chapter 3, Student class in Chapter 4, DollarAmount class in Chapter 5, GradeBook class in Chapter 7, the Time class in Chapter 9, the Employee class in Chapters 11—12, and more.
Optional case study: Using the UML to develop an object-oriented design and C++ implementation of an ATM. UML™ (Unified Modeling Language™) is introduced in the early chapters. Online Chapters 25 and 26 include an optional object-oriented design case study using the UML. To help them “tie it all together” and truly understand object orientation, students will learn to:
design and fully implement the software for a simple automated teller machine (ATM);
analyze a typical requirements document that specifies the system to be built;
determine the classes needed to implement that system, the attributes the classes need to have, the behaviors the classes need to exhibit and how objects of the classes must interact with one another to meet the system requirements;
produce a complete C++ implementation from the design.
Understanding how polymorphism works. Chapter 12 contains a detailed diagram and explanation of how C++ typically implements polymorphism, virtual functions and dynamic binding “under the hood.”
Object-oriented exception handling. Basic exception handling is integrated early in the book in Chapter 7. Instructors can easily pull more detailed material from Chapter 17, Exception Handling: A Deeper Look.
Custom template-based data structures. A rich multi-chapter treatment of data structures is provided–see the Data Structures module in the chapter dependency chart to plan your instruction.
Three programming paradigms. Structured programming, object-oriented programming, and generic programming are all discussed to give readers a thorough understanding of programming models.
Enhance learning with outstanding pedagogical features

Rich, early coverage of C++ fundamentals. Chapter 2 provides a friendly introduction to C++ programming. Chapters 4 and 5 clearly discuss control statements and algorithms.
Live-code approach. The book is loaded with hundreds of “live-code” examples–most new concepts are presented in complete working C++ applications, followed by one or more executions showing program inputs and outputs.
Syntax coloring. For readability, all the C++ code is syntax colored, similar to the way most C++ integrated-development environments and code editors syntax color code.
Code highlighting. Light-blue shaded rectangles highlight key code segments.
Using fonts for emphasis. The defining occurrence of each key term appears in bold blue text for easy reference.
Examples. A broad range of example programs from computer science, business, simulation, game playing and other topics keep readers engaged with the material.
Interesting, entertaining, and challenging exercises. Each chapter concludes with a substantial set of exercises, including simple recall of important terminology and concepts, identifying the errors in code samples, writing individual program statements, writing small portions of C++ classes and member and non-member functions, writing complete programs and implementing major projects. Exercises include Making a Difference exercises, which encourage readers to use computers and the Internet to research and solve significant social problems.
Clearly-stated objectives. The opening quotes are followed by a list of chapter objectives to focus students’ learning.
Programming Tips. Programming tips help readers focus on key aspects of program development. These tips and practices represent the best the authors have gleaned from a combined seven decades of teaching and industry experience.
Summary Bullets. For easy reference, a section-by-section, bullet-list summary of the chapter includes the page number of each term’s defining occurrence.
Index. An extensive index includes defining occurrences of key terms highlighted with a bold blue page number.
Self-Review Exercises and Answers. Extensive self-review exercises and answers are included for self-study.
Illustration and figures. Abundant tables, line drawings, UML diagrams, programs, and program outputs are included to bring the content to life.
Companion Website. The book’s password-protected Companion Website is accessible at www.pearsonhighered.com/deitel.
Online chapters. Four online chapters expand on the core content in the printed book.
Debugger appendices. Debugger appendices include Appendix H, Using the Visual Studio Debugger, Appendix I, Using the GNU C++ Debugger and Appendix J, Using the Xcode Debugger.
VideoNotes. In each of these videos, co-author Paul Deitel discusses key code examples in further detail.
Keep your course current on the C++11 and C++14 standards.

NEW: Discussions of the new C++14 capabilities.
UPDATED: Integrating C++11 capabilities further into the code examples, because the latest compilers are now supporting these features.
UPDATED: Uniforming initialization with list initializer syntax.
UPDATED: Always using braces in control statements, even for single-statement bodies.
UPDATED: Replacing the Gradebook class with Account, Student and DollarAmount class case studies in Chapters 3, 4 and 5, respectively. DollarAmount processes monetary amounts precisely for business applications.
UPDATED: C++14 digit separators in large numeric literals.
UPDATED: Updating Type &x to Type& x and Type *x to Type* x in accordance with industry idiom.
UPDATED: Using C++11 scoped enums rather than traditional C enums.
UPDATED: Bringing terminology in line with the C++ standard.
UPDATED: Bolding key terms in summaries for easy reference.
UPDATED: Removing extra spaces inside [], (), <> and {} delimiters.
UPDATED: Replacing most print member functions with toString member functions to make classes more flexible–for example, returning a string gives the client code the option of displaying it on the screen, writing it to a file, concatenating it with other strings, etc.
UPDATED: Using ostringstream to create formatted strings for items like the string representations of a Time, rather than outputting formatted data directly to the standard output.
UPDATED: For simplicity, using the three-file architecture is deferred from Chapter 3 to Chapter 9, so all early class examples define the entire class in a header.
UPDATED: Reimplementation of Chapter 10’s Array class operator-overloading example with unique_ptrs in Chapter 24. Using raw pointers and dynamic-memory allocation with new and delete is a source of subtle programming errors, especially “memory leaks”–unique_ptr and the other smart pointer types help prevent such errors.
NEW: Using lambdas rather than function pointers in Chapter 16, Standard Library Algorithms. This will get readers comfortable with lambdas, which can be combined with various Standard Library algorithms to perform functional programming in C++.
UPDATED: Enhancing the treatment of Standard Library containers, iterators, and algorithms in Chapters 15 and 16 with additional C++11 and C++14 features.
UPDATED: Updating the Online Chapter 24, C++11 and C++14 Additional Topics, with discussions of regular expressions, shared_ptr and weak_ptr smart pointers, move semantics, multithreading, tuples, decltype, constexpr and more.
This package includes MyProgrammingLab™, an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to the programming concepts in this book. Through hundreds of practice problems, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong–and why.



Interactive Practice provides first-hand programming experience in an interactive online environment.
Error Messages for Incorrect Answers give students immediate personalized feedback. The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.
Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom—when they need help the most.
Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the Pearson eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class. The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.
NEW! Exercise Editor now allows you to easily create new programming exercises. In addition to assigning the hundreds of programming exercises available in MyProgrammingLab, you can create and assign programming exercises customized to your course. The Exercise Editor provides the option to select different programming languages and exercise types.
Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:
A dynamic roster tracks their performance and maintains a record of submissions.
The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.

اضف تعليقك