C++ Programming for Non-C Programmers

     This course is a comprehensive hands-on introduction to object oriented programming in C++ for non-C programmers. Emphasis is placed on the features of C++ that support effective modeling of the problem domain and reuse of code. The course consists of two modules. The first module introduces the core C features of C++, with simplified input/output through iostreams. The module begins with simple hands-on programming using C++ to do input, computation and output. The C++ data types are covered, and simple if tests and loops are covered. C++ program structure is introduced. Pointers, addressing, and arrays are discussed. Structures and unions are covered In the second module object oriented concepts are introduced. The C++ class construct is introduced and its key features elaborated step-by-step, providing full implementation of abstract data types. C++ memory management is discussed. Function and operator overloading and the use of references are covered. The scope and access control mechanisms of C++ are described. Inheritance is introduced. The use of virtual functions to implement polymorphism is discussed. Extensive programming examples and exercises are provided.

Topics Covered

  • First C++ Programs
    • Hello, World
    • Program Structure
    • Output in C++
    • Variables and Expressions
    • Calculations Using C++
    • Input in C++
  • Data Types and Operators
    • Strong Typing
    • Integer Data Types
    • Floating Point
    • Conversions Between Types
    • Arithmetic Operators
    • Doing Math in C++
  • Logical and Bit Operations
    • Bool
    • Logical and Relational Operators
    • If Tests
    • Bitwise Operators
    • Shifting and Masking
  • Loops and Structured Programming
    • While Loops
    • Quitting Infinite Loops
    • Curly Braces and Indenting
    • Sentinels and Counters
    • For Loops
    • Loops and If Tests Together
    • Nested If Statements
    • Structured Programming
  • Functions and Program Structure
    • Function Prototypes and Type Checking
    • Returning Value and Argument Passing
    • Pass-by-Reference
    • External Variables
    • Block Structure
    • Scope
    • Header Files
    • Preprocessor
  • Pointers and Arrays
    • Pointers and Addresses
    • Pointers and Function Arguments
    • Address Arithmetic
    • Pointers and Arrays
    • Arrays of Pointers
    • Command Line Arguments
    • Pointers to Functions
    • Strings
  • Structures and Unions
    • Structures
    • Structures and Functions
    • Arrays of Structures
    • Unions
  • Functions
    • Defining a Function
    • Using a Function
    • Arguments and Scope
  • Concepts of Object Oriented Programming
    • Objects
    • Information Hiding and Encapsulation
    • Abstract Data Types
    • Methods and Messages
    • Classes
    • Class Inheritance
    • Polymorphism
  • Classes in C++
    • Data Encapsulation in C and C++
    • Definition of C++ Classes
    • Member Data and Functions
    • this Pointer
    • Abstract Data Types
    • Organizing Code for Classes
  • Functions in C++
    • Function Prototypes and Type Checking
    • Conversion of Parameters
    • Default Arguments
    • Inline Functions
    • Function Overloading
  • Constructors and Destructors
    • Constructors and Initializations
    • Object Creation and Destruction
    • Destructors
    • Multiple Constructors in a Class
    • Hidden Constructors
    • Memory Management in C++
      • Static, Automatic and Heap Memory
      • New and Delete
      • Handling Memory Allocation Errors
      • Hiding Details of Memory Management in a Class
      • Implementing a Dynamic String Class
    • References and Argument Passing in C++
      • Call by Value
      • Reference Declarations
      • Reference Arguments
      • Copy Constructor
      • Constant Arguments and Functions
    • Operator Overloading, Initialization, and Assignment
      • Operator Overloading
      • Semantics of Assignment
      • Initialization vs. Assignment
      • Overloading Assignment
      • Type Conversions
    • Scope and Access Control
      • Scope in C++
      • Friend Functions
      • Const and Enumeration Types
      • Static Members
    • Introduction to Inheritance
      • Inheritance for Modeling and Reuse
      • Class Derivation
      • Access Control
      • Base Class Initialization
      • Composition
      • Initializing Class Type Members
    • Polymorphism and Virtual Functions
      • Virtual Functions and Dynamic Binding
      • Polymorphism in C++
      • Pointer Conversion
      • Virtual Destructors
      • Abstract Classes and Pure Virtual Functions
      • Appendix A. Introduction to Visual C++
      • Visual C++ Development Environment
      • Visual Studio
      • Managing Projects
      • Compiling and Linking
      • Debugging

Audience:

     This course is designed for individuals who have not programmed in the C programming language, but need to develop in the C++ programming environment.

Prerequisites:

      Participants must have solid experience with another modern high-level language, including writing and using functions/ procedures/ subroutines, structured data types such as arrays and records, and an understanding of variables.

Benefits:

     Learn the core C features of C++. Become acquainted with the basic concepts of object oriented programming. Acquire an introductory knowledge of C++ programming

Furnished Materials:

  • PC Workstation for use during training
  • Student Manual

Recommended Follow-On Course

Length:

  • 5 Days

Price:

  • $2,475

Training Dates:

Sign Up