Features
Hallmark features of this title
Current real-world applications
- Live-code approach teaches students how to program in the context of 255 complete, real-world C++ programs, rather than code snippets.
- Hundreds of examples, exercises and projects allow students to solve interesting, real-world problems working with real data.
- Case studies offer fun, hands-on opportunities to use modern C++.
Unique modular organization
- The objects-natural approach begins with rich coverage of programming fundamentals, letting students work with easy-to-use pre-existing classes before they dive into object-oriented programming and custom class creation.
- Content is divided into groups of related chapters covering basic to advanced concepts. A chapter dependency chart helps instructors easily plan their syllabi.
- Copyright 2024
- Dimensions: 8" x 10"
- Pages: 1352
- Edition: 11th
-
Book
- ISBN-10: 0-13-809231-1
- ISBN-13: 978-0-13-809231-3
C++ How to Program: An Objects-Natural Approach is a code-intensive, modular introduction to C++ programming. The Deitel live-code approach presents concepts using full working programs rather than code snippets so that you can immediately start to run programs as you read. Interesting, entertaining and challenging examples, exercises and projects help you see how what you're learning applies to real-world scenarios.
The 11th Edition presents new features of C++ 20 and even more hands-on application opportunities. Hundreds of new self-checks let you test your code and understanding of key concepts. New case studies and exercises focus on security, data science, ethics and more.
This print textbook is available for students to rent for their classes. The Pearson print rental program provides students with affordable access to learning materials, so they come to class ready to succeed.
Table of Contents
PART 1: C++ 20 Fundamentals Quickstart and Procedural Programming
- Intro: Test-Driving Popular, Free C++ Software
- Intro to C++ 20 Programming
- Control Statements: Part 1
- Control Statements: Part 2
- Functions and an Intro to Function Templates
PART 2: Containers, C++ 20 Ranges, Pointers, Strings and Files
- arrays, vectors, Ranges and Functional-Style Programming
- (Downplaying) Pointers in Modern C++
- strings, string_views, Text files, CSV Files and Regex
PART 3: Modern Object-Oriented Programming and Exceptions
- Custom Classes
- OOP: Inheritance and Runtime Polymorphism
- Operator Overloading, Copy/Move Semantics, Smart Pointers and RAII
- Exceptions and a Look Forward to Contracts
PART 4: Generic Programming: Templates, Concepts and Template Metaprogramming
- Standard Library Containers and Iterators
- Standard Library Algorithms and C++ 20 Ranges and Views
- Templates, C++ 20 Concepts and Metaprogramming
PART 5: Advanced Topics: Modules, Parallel Algorithms, Concurrency and Coroutines
- C++ 20 Modules: Large-Scale Development
- Parallel Algorithms and Concurrency: A High-Level View
- C++ 20 Coroutines
PART 6: Miscellaneous Topics
- Stream I/O and C++ 20 Text Formatting
- Other Topics and a Look Toward C++ 23 and C++ 26
- Computer Science Thinking: Searching, Sorting and Big O