Skip to main content
  • Book
  • © 2018

Beginning C++17

From Novice to Professional

Apress
  • Master C++17 through step-by-step examples

  • Learn to work with arrays, loops, strings, lambda expressions, and more

  • Utilize operator overloading, inheritance, virtual functions and polymorphism

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (19 chapters)

  1. Front Matter

    Pages i-xxviii
  2. Basic Ideas

    • Ivor Horton, Peter Van Weert
    Pages 1-25
  3. Introducing Fundamental Types of Data

    • Ivor Horton, Peter Van Weert
    Pages 27-64
  4. Working with Fundamental Data Types

    • Ivor Horton, Peter Van Weert
    Pages 65-87
  5. Making Decisions

    • Ivor Horton, Peter Van Weert
    Pages 89-122
  6. Arrays and Loops

    • Ivor Horton, Peter Van Weert
    Pages 123-176
  7. Pointers and References

    • Ivor Horton, Peter Van Weert
    Pages 177-218
  8. Working with Strings

    • Ivor Horton, Peter Van Weert
    Pages 219-256
  9. Defining Functions

    • Ivor Horton, Peter Van Weert
    Pages 257-318
  10. Function Templates

    • Ivor Horton, Peter Van Weert
    Pages 319-335
  11. Program Files and Preprocessing Directives

    • Ivor Horton, Peter Van Weert
    Pages 337-377
  12. Defining Your Own Data Types

    • Ivor Horton, Peter Van Weert
    Pages 379-447
  13. Operator Overloading

    • Ivor Horton, Peter Van Weert
    Pages 449-490
  14. Inheritance

    • Ivor Horton, Peter Van Weert
    Pages 491-523
  15. Polymorphism

    • Ivor Horton, Peter Van Weert
    Pages 525-569
  16. Runtime Errors and Exceptions

    • Ivor Horton, Peter Van Weert
    Pages 571-612
  17. Class Templates

    • Ivor Horton, Peter Van Weert
    Pages 613-660
  18. Move Semantics

    • Ivor Horton, Peter Van Weert
    Pages 661-694
  19. First-Class Functions

    • Ivor Horton, Peter Van Weert
    Pages 695-720
  20. Containers and Algorithms

    • Ivor Horton, Peter Van Weert
    Pages 721-759

About this book

Learn how to program using the updated C++17 language. You'll start with the basics and progress through step-by-step examples to become a working C++ programmer. All you need are Beginning C++17 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge.


All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Code downloads are provided for all examples from the text and solutions to the exercises.


This latest edition has been fully updated to the latest version of the language, C++17, and to all conventions and best practices of so-called modern C++. Beginning C++17 also introduces the elements of the C++ Standard Library that provide essential support for the C++17 language. 


What You'll Learn
  • Define variables and make decisions
  • Work with arrays and loops, pointers and references, strings, and more
  • Write your own functions, types, and operators
  • Discover the essentials of object-oriented programming
  • Use overloading, inheritance, virtual functions and polymorphism
  • Write generic function templates and class templates 
  • Get up to date with modern C++ features: auto type declarations, move semantics, lambda expressions, and more
  • Examine the new additions to C++17



Who This Book Is For


Programmers new to C++ and those who may be looking for a refresh primer on the C++17 programming language in general.


Reviews

“The book presents the logic and contents very clearly. It covers every basic aspect of C++ programming, and all of the examples are written in C++17. C++ beginners will learn the fundamental parts of C++ programming using C++17. … it is a great first book for C++ beginners, who should work through the material chapter by chapter, and readers who want to learn modern C++ programming using C++17.” (Zhaoqiang Lai, Computing Reviews, September 16, 2019)

Authors and Affiliations

  • Stratford-upon-Avon, United Kingdom

    Ivor Horton

  • Kessel-Lo, Belgium

    Peter Van Weert

About the authors

Ivor Horton is self-employed in consultancy and writes programming tutorials. He is the author of many programming books.  Ivor worked for IBM for many years and holds a bachelor's degree, with honors, in mathematics. Horton's experience at IBM includes programming in most languages (like assembler and high-level languages on a variety of machines), real-time programming, and designing and implementing real-time closed loop industrial control systems. He has extensive experience teaching programming to engineers and scientists (Fortran, PL/1, APL, etc.). Horton is an expert in mechanical, process, and electronic CAD systems; mechanical CAM systems; and DNC/CNC systems.

Peter Van Weert is a Belgian software engineer whose main interests and expertise are application software development, programming languages, algorithms, and data structures.

He received his master of science degree in computer science summa cum laude with congratulations of the Board of Examiners from the University of Leuven. In 2010, he completed his PhD thesis there on the design and efficient compilation of rule-based programming languages at the research group for declarative programming languages and artificial intelligence. During his doctoral studies, he was a teaching assistant for object-oriented programming (Java), software analysis and design, and declarative programming.

After graduating, Peter worked at Nikon Metrology for more than six years on large-scale, industrial application software in the area of 3D laser scanning and point cloud inspection. He learned to master C++ and refactoring and debugging of very large code bases, and he gained further proficiency in all aspects of the software development process, including the analysis of functional and technical requirements, and agile and scrum-based project and team management.

Today, Peter works for Danaher in its R&D unit for digital dentistry software, developing software for the dental practice of tomorrow. In his spare time, he has co-authored two books on C++ and two award-winning Windows 8 apps and is a regular expert speaker at, and board member of, the Belgian C++ Users Group.



Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access