S9K Training


 

Consulting & Training by Randall Nagy


Soft9000.com - Products & Services

On-Line Training

SQL On-Line

Python On-Line

Java On-Line

C/C++ Training

More Training

Custom R&D

Consulting

Authorship

Communities

Web Tools

Hobbies

Soft9000.com

Custom Training

Modern C++

New software developers can now enter the world Object Orientation via C/C++. The student will learn how to extend C into the C++ / Object Oriented Paradigm.
Presented by a principal software development engineer & trainer, "Introduction to C++ for C Developers" presents an insightful, hands-on approach to using C++ to present Object Orientation.

Delivery

Pricing based upon attendance.
United States & Canada.

Duration

5 Days.

Overview

This course provides experienced C Language Programmers with the skill to create Object Oriented Programs using the C++ Programming Languag. The student will learn the syntax of C++, as well as Object Oriented Concepts.

Performance-Based Objectives

Upon successful completion of this course, students will be able to:
  • Distinguish new C++ Language Features.
  • Compile and execute C++ Programs.
  • Define encapsulation, inheritance, and polymorphism.
  • Use inline functions and function overloading.
  • Create data abstractions through the use of classes.
  • Share and restrict object members.
  • Define and use constructors and destructors.
  • Dynamically create and destroy space.
  • Use the I/O Stream related classes.
  • Use operator overloading.
  • Declare and use named constants.
  • Describe scope, storage class, and linkage.
  • Increase software re-usability through inheritance.
  • Use dynamic binding and virtual functions.
  • Process errors using exception handling.
  • Declare and use class and function templates (Optional)

Training Outline

INTRODUCTION

  • Features of C++
  • History and Origin of C++
  • Advantages of C++
  • C++ Compilation Process

C++ AND C

  • Compatibility between C and C++
  • Comments and Readability
  • C++ Keywords and Modifiers
  • Variable Declarations in C++
  • Derived Data Types
  • Operator Precedence and Associativity
  • Scope/Global Operator (::)
  • Namespaces
  • Input/Output Streams

FUNCTIONS

  • Function Definition
  • Function Declaration
  • Reference Parameters
  • Default Argument Values
  • Function Overloading
  • Inline Functions
  • Type Safe Linkage
  • Name Mangling
  • Combining C and C++ Functions

OBJECT ORIENTED CONCEPTS

  • Features of Object Oriented Languages
  • Procedural vs. Object Oriented
  • Data Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Effects of OO Approach
  • Basic OO Design (CRC Cards)

CLASSES AND ENCAPSULATION

  • Definition of Class
  • Class Syntax
  • Class Data Members
  • Class Member Functions
    • Internal
    • External
  • Membership Scope
    • Public
    • Private
    • Protected
    • Friend

CONSTRUCTORS AND DESTRUCTORS

  • Class Constructors
    • Constructors with Parameters
    • Overloaded Constructors
    • Internal and External Constructors
    • Explicit and Implicit Constructor Invocation
  • Dynamic Memory Allocation
    • new Operator
    • delete Operator
  • Pointers to Classes
  • this Pointer
  • Function and Class Friends
  • Copy Constructors
  • Avoiding Memory Leaks

I/O STREAMS

  • Standard I/O Streams
  • Reading Input with cin
  • Writing Output with cout
  • Writing Errors with cerr
  • Other I/O Class Member Functions
    • get
    • put
    • write
  • Manipulators
  • Simple File I/O
    • Opening File Streams
    • State Checking Member Functions
    • Closing File Streams

OVERLOADING OPERATORS

  • Overloading Operators
  • Operator Overloading Rules and Restrictions
  • Valid Overloaded Operators
  • Overloading Binary Operators
  • Overloading Unary Operators
  • Overloading Operators Having Side Effects
  • Overloading Assignment Operator
  • Overloading ++ and -- Operators
  • Overloading Type Cast (conversion) Operator
  • Friend Operator Functions
  • Non-Member Operator Functions

CONSTANTS, SCOPE, & LINKAGE

  • Named Constants
  • Pointers and Constants
  • References and Constants
  • Functions and Constants
  • Constant Member Functions
    • Logically Constant Functions
    • mutable Keyword
  • Scope and Storage Class
  • Linkage
  • static Class Members

INHERITANCE

  • Software Reusability
  • Inheritance - Concept and Terminology
  • Inheritance Syntax
  • Uses and Advantages
  • Base and Derived Classes
  • Class Access Specifiers
    • public
    • private
    • protected
  • Single Inheritance
  • Multiple Inheritance
  • Constructors and Destructors
  • Containment

POLYMORPHISM AND DYNAMIC BINDING

  • Polymorphism Definition
  • Types of Binding
    • Static
    • Dynamic
  • Virtual Functions
  • Rules for Dynamic Binding
  • Pure Virtual Functions and Abstract Classes

ERROR AND EXCEPTION HANDLING

  • Exception Handling Model
  • Exception Handling Keywords
  • Generating Exceptions
  • Handling Exceptions
  • Creating Exception Classes
  • Catching or Passing Exceptions

CLASS AND FUNCTION TEMPLATES (OPTIONAL)

  • Template Definition
  • Template Container Class
    • Syntax
    • Template Arguments
    • Overriding Template Definition
  • Global Function Templates
    • Syntax
    • Use
  • Advanced Template Topics
    • Special Template Functions
    • Inherited Template Classes
(mod) (mod)