C/C++ Programming

The C programming language was first released in 1972, making it one of the oldest still used today. The language is in everything you do since most modern operating systems are implemented with C code, as is the main version of Python (called CPython).

For those with a background in a procedural programming language, this course provides a foundation in C++ syntax and usage, as well as object-oriented programming. With this training, you learn how to use C++ functions and variables, leverage advanced features — including constructors, destructors, inheritance, and polymorphism — and gain an understanding of how C++ offers greater ability than C.

Course Overview

Section 1 – Getting Started 

  • Object-Oriented Fundamentals
    • Programming Paradigms
    • Conquering Complexity
  • C++ Basics
    • Built-in Types, Arrays and Pointers
    • Comments, Keywords, I/O Streams
    • Built-in Operators and Control Constructs
    • Dynamic Free Store Operators
  • C++ Functions
    • Definition and Prototypes
    • Inline Functions
  • Structures and References

Section 2 – Classes and Objects

  • Encapsulation
    • Data Members, Member Functions
    • Private and Public
  • Constructors and Destructors
    • Default Arguments
    • Storage Allocation and Deallocation
    • this Pointer
    • Copy Constructors

Section 3 – Overloading

  • Overloading Functions
  • Overloading Operators
    • Unary and Binary Operators
    • Initialization vs. Assignment
    • Stream Input and Output

Section 4 – Polymorphic Programming

  • Inheritance
    • Public Inheritance and Subtyping
    • Base and Derived Classes
    • Constructors and Destructors
    • Base Class Initialization
    • Using Protected keyword
  • Virtual Functions
    • Base Class Pointers and References
  • Dynamic Binding
    • Abstract Base Classes
    • Pure Virtual Functions
    • Virtual Destructors

Section 5 – Code Reuse in C++

  • Containment
    • Objects as Data Members
    • Member Initialization
  • Private Inheritance
    • Base and Derived Relationship
    • Access Declarations

Section 6 – Designing with C++

  • Templates
    • Template Functions
    • Template Classes
  • Exceptions
    • try, catch, throw
    • Exception Hierarchies