C++ Fundamentals

Course Description Overview

Course Number:
-
Course Length:
2 days
Course Description Overview:
Discover the peculiar feature points of C++ with C++ Fundamentals, and lay a solid foundation of C++ knowledge. Get a hands-on, practical introduction to low-level programming with C and C++.

C++ Fundamentals begins by introducing you to the C++ syntax. You will study the semantics of variables along with their advantages and trade-offs, and see how they can be best used to write safe and efficient code. With the help of this course, you’ll be able to compile fully working C++ programs and understand how variables, references, and pointers can be used to manipulate the state of the program. You will then explore functions and classes— the features that C++ offers to organize a program—and use them to solve more complex problems. You’ll also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guideline.


As you advance through the chapters, you’ll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ course will guide you in fully exploiting standard containers and understanding how to pick the appropriate container for each problem. You will even work with a variety of memory management tools in C++.By the end of the course, you'll be equipped with all that you need to know to develop robust and high performance infrastructure.


By the end of this course, you will not only be able to write efficient code, but also be equipped to improve the readability, performance, and maintainability of your programs using standard algorithms.


Course Objectives:

After completing this course, you will be able to:

  • Work with the C++ compilation model and syntaxes
  • Apply best practices for writing functions and classes
  • Write safe, generic, and efficient code with templates
  • Explore the containers that C++ standard offers
  • Discover the new paradigms introduced with C++11, C++14, and C++17
  • Get to grips with the core language features of C++
  • Abstract complex problems using object-oriented programming in C++
This course is intended for individuals having prior programming knowledge. This course is not for beginners who have chosen C++ as their first programming language.
Target Student:
If you’re a developer looking to learn a new powerful language or are familiar with C++ but want to update your knowledge with modern paradigms of C++11, C++14, and C++17, this course is for you. To easily understand the concepts in the course, you must be familiar with the basics of programming.
Prerequisites:
-
Course-specific Technical Requirements Software:
  • Operating System: Windows or Linux
  • Internet Browser: Google Chrome (latest version)
  • C++ IDE
Course-specific Technical Requirements Hardware:

For the optimal student experience, we recommend the following hardware configuration:

  • Processor: 2.5 GHz or higher (or equivalent)
  • Memory: 6 GB RAM or more
  • Hard disk: 20 GB free space
Certification reference (where applicable)
-
Course Content:

Lesson 1: Getting Started

  • The C++ Compilation Model
  • Built-in Data Types
  • Pointers and References
  • Control Flow
  • The try-catch block
  • Arrays

Lesson 2: Functions

  • Function Declaration and Definition
  • Local and Global Variables
  • Passing Arguments and Returning
  • Working with const References or r-value References
  • Const Parameters and Default Arguments
  • Namespaces
  • Function Overloading

Lesson 3: Classes

  • Declaring and Defining a Class
  • Member Functions
  • Constructors and Destructors
  • Resource Acquisition Is Initialization
  • Nested Class Declarations
  • Copy Constructors and Assignment Operators
  • Operator Overloading
  • Introducing Functors

Lesson 4: Generic Programming and Templates

  • Templates
  • Defining Function and Class
  • Non-Type Template Parameters
  • Making Templates Easier to Use
  • Being Generic in Templates
  • Variadic Templates
  • Writing Easy-to-Read

Lesson 5: Standard Library Containers and Algorithms

  • Sequence
  • Associative Containers
  • Unordered Containers
  • Container
  • Unconventional
  • std::optional
  • std::variant
  • Iterators
  • Algorithms Provided by the C++ Standard Template Library

Lesson 6: Object-Oriented Programming

  • Inheritance
  • Polymorphism
  • Virtual Methods
  • Interfaces in C++
  • Dynamic Memory
  • Safe and Easy Dynamic Memory
Registration
Register Now