C++ Programming for Non-C Programmers Course

Course Code: PL 35
Course Abstract: This course provides a solid foundation in C++ for those without any C programming experience. This course will cover the features of the C++ language and emphasizes key object-oriented programming concepts.
Audience: This course is designed for programmers moving to object-oriented programming using C++.
Duration: 5 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:
> Learn the core C features of C++
> Become acquainted with the basic concepts of object oriented programming
> Acquire an introductory knowledge of C++ programming

Course Topics:

Getting Started
The First Program (hello.cpp)
Compile Steps
How to Compile and Run a Program

Data Types and Variables
Fundamental Data Types
Data Type Values and Sizes
Variable Declarations
Variable names
Constants
Character Constants
String Constants

Operators and Expressions
What are expressions?
Arithmetic Operators
Relational Operators
Assignment Operator
Expressions have resulting values
True and False
Logical Operators
Increment and Decrement Operators (++ and --)
'Operate-Assign' Operators (+=, *=, ...)
Conditional Expression
Operator Precedence
Precedence and order of evaluation
Evaluation of Logical Operators
Type Conversions
The cast operator

Control Flow
Statements
if - else
if() - else if ()
switch()
while()
do - while()
for()
The for() loop - diagram
The break statement
The continue statement

Functions
What is a function?
Why use functions?
Anatomy of a function
Arguments passed by value
When to Use the return Statement
Returning Non-integer Values
Functions in Multiple Source Files
The Concept of Variable Scope
Automatic Variables
Global (external) variables
Static Variables
External Static Variables

Pointers and Arrays
What is a pointer?
Pointer Operators
Why use pointers?
Arrays:
Arrays (a picture)
The & Operator
Pointers and arrays
Passing arrays to functions
Initializing arrays
Strings and character pointers
What is char s[7] ???
Arrays of pointers
Arrays of pointers - diagram
Command-line arguments

Structures
Comparison of structures and arrays
Structure definitions
Structure declarations
Arrays of structures

Classes
Creating a Data Structure
Methods
Object Scope
C++ Input and Output
Data Abstraction
Enforcing Data Encapsulation
File Organization
Namespaces
Classes in C++
Objects

Constructors and Destructors
Debug Output
The Default Constructor
When are Constructors Called?
The Destructor
The Copy Constructor
Other Constructors
Why Did It Work Before?
Composition
The Report Class
Code Reuse
Initialization Lists

Inheritance
Bugreport
Protected Access Modifier
Access and Inheritance
Constructors and Inheritance
Initialization Lists Revisited
Multiple Inheritance

Virtual Functions
Inheritance and Assignment
Inside Report's Assignment Operator
Using Pointers - A Quick Look at Basics
Class Assignment and Pointers
Class Assignment and Pointers - A
Picture
Static Binding
Dynamic Binding
Polymorphism
The show_rep() Function
Using the show_rep() Function
Designing Member Function Inheritance

Pure Virtual Functions
Bugfix and Its Relationship with Bugreport
Bugfix: Association with Bugreport
Using Bugfix with show_rep()
Adding Bugfix to the Hierarchy
Coding For the Document Class
Reexamining the Document Class
Pure Virtual Functions
Updated: Designing Member Function

References & Constants
References
Displaying References
Changing References
Pass By Reference
Returning by Reference
Constant Variables
Constant References
Constant Methods

New and Delete
new and delete
Array Allocation
The Report Class
Compiler Version of the Copy Constructor
Guidelines for Copy Constructors
The Report Constructors and new
The Report Destructor and delete
Virtual Destructors

Prerequisites: Professional programming experience.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning