C++ Programming for Non-C Programmers

Hands on Technical Training (HOTT)
Training overview
5 days
Professional course
Next start date: 6/8/2020 - Austin
From 2,795 USD
Start dates
Austin
6/8/2020  
2,795 USD
8/10/2020  
2,795 USD
Corpus Christi
6/8/2020  
2,795 USD
8/10/2020  
2,795 USD
Dallas
6/8/2020  
2,795 USD
8/10/2020  
2,795 USD

Course description

C++ Programming for Non-C Programmers

This 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.

Delivery method

  • Attend face-to-face in the classroom
  • Remote-live (live, instructor-led training from the convenience of your home or office)
  • On-demand streaming (train on your own time and at your own pace)
Want to find out more?

COVID-19 Update

In light of COVID-19, this provider is now delivering some or all of their courses online. Contact them for more information!

Do you have questions about this training and how COVID-19 might affect it?

At findcourses.com we are committed to helping everyone who wants to learn, to learn. So are the training suppliers we partner with.

Get in touch on this page to find out whether there are any changes to this training in light of COVID-19.

Who should attend?

Prerequisites

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

Training Content

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 vs. 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 with a Friend Class

Operator Overloading

  • Advantages and Pitfalls of Overloading
  • Member Operator Syntax and Examples
  • Class Assignment Operators
  • Class Equality Operators
  • Non-Member Operator Overloading
  • Member and Non-Member Operator Functions
  • Operator Precedence
  • The this Pointer
  • Overloading the Assignment Operator
  • Overloading Caveats

The Standard Template Library

  • STL Containers
  • Parameters Used in Container Classes
  • The Vector Class
  • STL Algorithms
  • Use of Libraries

Why choose HOTT?

50% of class time is hands-on lab exercises

Public classes average less than 12 students

Courses cover over 60 different subject areas

About HOTT

HOTT Logo

Hands On Technology Transfer, Inc. (HOTT)  

We offer competency-based IT training programs in more than 100 cities across the United States, Canada and the United Kingdom, covering over 60 IT subject areas. These programs are designed with one main goal – making sure you and your staff...


Read more and show all training delivered by this supplier

Request info

Fill out your details to find out more about C++ Programming for Non-C Programmers.

  Contact the provider

  Get more information

  Register your interest

Contact info

Hands on Technical Training (HOTT)


 Show phone number
www.traininghott.com


Reviews

Average rating 5

Based on 2 reviews

L.B., Amadeus North America
(5)
Great instructor! Excellent and engaging lecturer. Very clear and drew comparisons between C++ and other programming languages to highlight C++ strengths/weaknesses. Clearly knowledgably on the subject. Course booklet and labs were well-written. Awesome C++ course.
A.A., Chevron
(5)
Wow. What an amazing course. Thank you! This course exceeded my expectations and will help me do my job much more effectively. I will certainly recommend HOTT to my colleagues!
Request Information

Have a question about this course? Fill out this form and the provider will get in touch with you shortly

View again
Supplier Directory
Join our Supplier Directory to:
- Gain Traffic
- Get Noticed
- Showcase Your Services
- Free Listing Available