Programming in C/C++

Course Description

This course provides a practical hands-on introduction to the C/C++ programming language. Participants will learn the central concepts of the C/C++ language, with emphasis on the use of object-oriented techniques in writing robust code.

Intended Audience for the C/C++ Programming Course

  • This course is for those interested in programming with C/C++.

C/C++ Programming Course Objectives

  • Describe object-oriented programming techniques.
  • Use the syntax and semantics of the C++ programming language.
  • Create new classes.
  • Write an object-oriented program in C++.
  • Discovering both initialization and assignment.
  • Describe the process of data abstraction.
  • Create new data types using inheritance.
  • Discover about polymorphism.
  • Use C++ class libraries.
  • Implement exception handling.
  • Write template functions and classes.

C/C++ Programming Course Benefits

  • Object-oriented (OO) programming offers greater reliability, maintainability & reusability than older, structured programming methods. C++, a language derived from C, supports OO with a high degree of efficiency and portability. C++ is a well-established, mainstream language used across a broad range of applications.

C/C++ Programming Course Outline

  1. C++ Overview
    1. C++ Characteristics
    2. Object-Oriented Terminology
  • Polymorphism
  1. Object-Oriented Paradigm
  2. Abstract Data Types
  3. I/O Services
  • Standard Template Library
  • Standards Compliance
  1. Functions and Variables
    1. Functions: Declaration and Definition
    2. Variables: Definition, Declaration and Scope
  • Variables: Dynamic Creation and Derived Data
  1. Arrays and Strings in C++
  2. Qualifiers
  1. Classes in C++
    1. Defining Classes in C++
    2. Classes and Encapsulation
  • Member Functions
  1. Instantiating and Using Classes
  2. Using Constructors
  3. Multiple Constructors and Initialization Lists
  • Using Destructors to Destroy Instances
  • Friendship
  1. Operator Overloading
    1. Operator Overloading
    2. Working with Overloaded Operator Methods
  2. Initialization and Assignment
    1. Initialization vs. Assignment
    2. The Copy Constructor
  • Assigning Values
  1. Specialized Constructors and Methods
  2. Constant and Static Class Members
  1. Storage Management
    1. Memory Allocation
    2. Dynamic Allocation: new and delete
  2. Inheritance
    1. Overview of Inheritance
    2. Defining Base and Derived Classes
  • Constructor and Destructor Calls
  1. Polymorphism
    1. Overview of Polymorphism
  2. Input and Output in C++ Programs
    1. Standard Streams
    2. Manipulators
  • Unformatted Input and Output
  1. File Input and Output
  1. Exceptions
    1. Exceptions
    2. Inheritance and Exceptions
  • Exception Hierarchies
  1. Inside an Exception Handler
  1. Templates
    1. Template Overview
    2. Customizing a Templated Method
  • Standard Template Library Containers