Seminar C++ Programming for Non-C Programmers (Canada) Seminar

Presented by Hands-On Technology Transfer

Hands On Technology Transfer Computer Training

Bring this seminar on-site to your facility for groups of 10 or more.

This hands on C++ programming course provides an accelerated introduction to the most essential syntactical components of the C and C++ languages on the first day, prior to four days of focus on object-oriented programming with C++

Course Description


This hands on C++ programming course provides an accelerated introduction to the most essential syntactical components of the C and C++ languages on the first day, prior to four days of focus on object-oriented programming with C++. The course begins by introducing the built in data types, fundamental control constructs, and rich expression operator repertoire common to both C and C+. The remainder of the course teaches object-oriented programming using features of C++, congruent with the C++ for C Programmers course. Hands on exercises are performed throughout each day to demonstrate key concepts and assure mastery by the student.

Prerequisites

Prior programming experience, though not necessarily in C or C++. Some prior knowledge of basic C syntax is helpful but not required.

ANSI C++ Fundamentals
  • Block Structure of C and C++ Programs
  • Fundamentals of Syntax
  • Built in Data Types
  • The Preprocessor and Macros
  • Standard Runtime Libraries and Header Files
Data Types, Storage, Classes, and Scope
  • Data Types and Qualifiers
  • Constants and String Literals
  • Static versus Automatic Storage
  • Scope and Variables
  • Initialization Rules
Operators and Expressions
  • Arithmetic, Logical, and Bit Operators
  • Precedence and Associativity
  • Assignment
  • Type Conversion Rules
  • Type Casting
Flow Control Constructs
  • Conditional Constructs: if, switch
  • Looping Constructs: while, do, for
  • Programming Style
Pointers
  • Advantages of Pointers
  • Uses of Pointers
  • Declaring Pointers
  • Pointer and Address Arithmetic
  • Initializing and Dereferencing Pointers
  • Pointers versus Arrays
Functions
  • Purpose of Functions
  • Functions versus Inlining
  • The Argument Stack
  • Passing by Value
  • Passing by Reference
  • Declaring External Functions
  • Function Prototyping
Moving from C to C++
  • New Compiler Directives
  • Stream Console I/O
  • Explicit Operators
  • Standard Libraries
  • Data Control Capabilities
Handling Data
  • New Declaration Features
  • Initialization and Assignment
  • Enumerated Types
  • The bool Type
  • Constant Storage
  • Pointers to Constant Storage
  • Constant Pointers
  • References
  • Constant Reference Arguments
  • Volatile Data
  • Global Data
Functions
  • Function Prototypes and Type Checking
  • Default Function Data Types
  • Function Overloading
  • Problems with Function Overloading
  • Name Resolution
  • Promotions and Conversions
  • Call by Value
  • Reference Declarations
  • Call-by-Reference and Reference Types
  • References in Function Return
  • Constant Argument Types
  • Conversion of Parameters Using Default Initializers
  • Providing Default Arguments
  • Inline Functions
Creating and Using Objects
  • Creating Automatic Objects
  • Creating Dynamic Objects
  • Calling Object Methods
  • Constructors
  • Initializing Member consts
  • Initializer List Syntax
  • Allocating Resources in Constructor
  • Destructors
  • Block and Function Scope
  • File and Global Scope
  • Class Scope
  • Scope Resolution Operator ::
  • Using Objects as Arguments
  • Objects as Function Return Values
  • Constant Methods
  • Containment Relationships
Dynamic Memory Management
  • Advantages of Dynamic Memory Allocation
  • Static, Automatic, and Heap Memory
  • Free Store Allocation with new and delete
  • Handling Memory Allocation Errors
Controlling Object Creation
  • Object Copying and Copy Constructor
  • Automatic Copy Constructor
  • Conversion Constructor
Inheritance
  • Inheritance and Reuse
  • Composition vs. Inheritance
  • Inheritance: Centralized Code
  • Inheritance: Maintenance and Revision
    • Public, Private and Protected Members
    • Redefining Behavior in Derived Classes
    • Designing Extensible Software Systems
  • Syntax for Public Inheritance
  • Use of Common Pointers
  • Constructors and Initialization
  • Inherited Copy Constructors
  • Destructors and Inheritance
  • Public, Protected, Private Inheritance
Streaming I/O
  • Streams and the iostream library
  • Built-in Stream Objects
  • Stream Manipulators
  • Stream Methods
  • Input/Output Operators
  • Character Input
  • String Streams
  • Formatted I/O
  • File Stream I/O
  • Overloading Stream Operators
  • Persistent Objects
Introduction to Object Concepts
  • The Object Programming Paradigm
  • Object-Orientated Programming Definitions
  • Information Hiding and Encapsulation
  • Separating Interface and Implementation
  • Classes and Instances of Objects
  • Overloaded Objects and Polymorphism
Templates
  • Purpose of Template Classes
  • Constants in Templates
  • Templates and Inheritance
  • Container Classes
  • Use of Libraries
Strings in C++
  • Character Strings
  • The String Class
  • Operators on Strings
  • Member Functions of the String Class
Exceptions
  • Types of Exceptions
  • Trapping and Handling Exceptions
  • Triggering Exceptions
  • Handling Memory Allocation Errors
C++ Program Structure
  • Organizing C++ Source Files
  • Integrating C and C++ Projects
  • Using C in C++
Reliability Considerations in C++ Projects
  • Function Prototypes
  • Strong Type Checking
  • Constant Types
  • C++ Access Control Techniques
Polymorphism in C++
  • Definition of Polymorphism
  • Calling Overridden Methods
  • Upcasting
  • Accessing Overridden Methods
  • Virtual Methods and Dynamic Binding
  • Virtual Destructors
  • Abstract Base Classes and Pure Virtual Methods
Multiple Inheritance
  • Derivation from Multiple Base Classes
  • Base Class Ambiguities
  • Virtual Inheritance
    • Virtual Base Classes
    • Virtual Base Class Information
Declaring and Defining Classes
  • Components of a Class
  • Class Structure
  • Class Declaration Syntax
  • Member Data
  • Built-in Operations
  • Constructors and Initialization
  • Initialization vs. Assignment
  • Class Type Members
  • Member Functions and Member Accessibility
  • Inline Member Functions
  • Friend Functions
  • Static Members
  • Modifying Access

     

    More Seminar Information

    Hands-On Technology Transfer
    Hands On Technology Transfer Computer Training

    Summary

    This hands on C++ programming course provides an accelerated introduction to the most essential syntactical components of the C and C++ languages on the first day, prior to four days of focus on object-oriented programming with C++

    Delivery Method

    Seminar Seminar

    Also Available As

    On-Site Training On-Site Training

    Who Should Attend

    Computer Industry Professionals

     
Search similar training
Email this page
Print this document
 

Dates and Locations

Quebec City, QC
5/4/2020 - 5/8/2020
Tuition: $2275

Montreal, QC
5/4/2020 - 5/8/2020
Tuition: $2275

Toronto, ON
5/4/2020 - 5/8/2020
Tuition: $2275

Ottawa, ON
5/4/2020 - 5/8/2020
Tuition: $2275

Mississauga, ON
5/4/2020 - 5/8/2020
Tuition: $2275

see all dates/locations

 

Frequently Asked
Questions

Payment Options
Bill Me/Invoice
Credit Card

Register
Online
Fax Form

Availability
Select a date from the list at the bottom of the page for specific information about that class.

Other Information
Seminar

All Date/Location Information

Alberta (Find training in Alberta)
5/25/2020-5/29/2020 in Calgary, AB         Find a seminar in Calgary AB
5/25/2020-5/29/2020 in Edmonton, AB         Find a seminar in Edmonton AB

British Columbia (Find training in British Columbia)
5/25/2020-5/29/2020 in Vancouver, BC         Find a seminar in Vancouver BC

Manitoba (Find training in Manitoba)
5/25/2020-5/29/2020 in Winnipeg, MB         Find a seminar in Winnipeg MB

Ontario (Find training in Ontario)
5/4/2020-5/8/2020 in Kingston, ON         Find a seminar in Kingston ON
5/4/2020-5/8/2020 in Mississauga, ON         Find a seminar in Mississauga ON
5/4/2020-5/8/2020 in Ottawa, ON         Find a seminar in Ottawa ON
5/4/2020-5/8/2020 in Toronto, ON         Find a seminar in Toronto ON

Quebec (Find training in Quebec)
5/4/2020-5/8/2020 in Montreal, QC         Find a seminar in Montreal QC
5/4/2020-5/8/2020 in Quebec City, QC         Find a seminar in Quebec City QC

Saskatchewan (Find training in Saskatchewan)
5/25/2020-5/29/2020 in Regina, SK         Find a seminar in Regina SK