C++ Programming
8/3/2020 - 8/7/2020
9/14/2020 - 9/18/2020


COURSE COST: $2995.00

COURSE TIMES: 9:00am - 4:30pm

Printable version of this course
Register for this course


C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures.

Objectives At the end of this course, students will be able to:
•Compare the object vs the procedural approach to writing software
•Use correct object oriented terminology
•Define and use classes in a C++ Program
•Select the proper class protection mechanism
•Create and use abstract data types
•Derive classes using inheritance in C++
•Implement operator overloading
•Implement polymorphism by using virtual functions in a program
•Write programs utilizing the C++ i/o classes


Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel.

Students should have completed the Introduction to C Course or have equivalent knowledge.


*Course cost listed does not include the cost of courseware (required) or lunch (optional). Please contact us at learn@vtec.org or 207-775-0244 for additional pricing information, or if you have any questions. Course is subject to minimum enrollment. This course may run as a live distance learning class if the minimum enrollment is not met.


•The software crisis
•Building software has been difficult
•Design techniques
•Large Software Systems
•Roots of Object Orientation
•What is OO programming?
•C++ and OO programming
•Why C++?
•Features of C++
•Pros and Cons of C++

The Language of Object Orientation
•What is an object?
•What is a class?
•Data hiding
•The public Interface
•Relationships among Classes
•Object-Oriented Design

C vs C++
•Performing Simple Output
•Performing Simple Input
•Definitions near to first Use
•Function prototypes
•The inline specifier, const , Structure Members
•The reference type, Overloading function names
•Default parameters, Scope resolution operator
•Operators new and delete
•The bool and string Data Type

Fundamentals of Classes
•Data types and Abstract data types
•Using the class concept, How to define a class
•public and private access levels, Using class objects like a built in type
•Using class objects like a built in type , Scope
•scope resolution operator, Constructors
•Member Initialization Lists
•Array of Objects
•Pointers, The this pointer
•Passing Objects to Functions
•Returning Objects from Functions
•Static class members

Operator Overloading
•Rules for Operator Overloading
•Rationale for Operator Overloading
•Overloading Member Functions
•Overloading Non-Member Functions
•friend functions
•The Copy Constructor
•Overloading the Assignment Operator
•Overloading [ ]
•Overloading increment and decrement operators
•const Objects & const references

Composition of Classes
•Composition of Classes
•The Point class
•The Line class
•Member Initialization Lists
•An Application w/ composition
•The Copy Constructor under Composition
•Operator= under Composition

•Inheritance public base classes
•Inheritance w/ public base classes
•Member Initialization Lists
•What isn't inherited
•Assignments between base and derived Objects
•Compile Time Binding vs. Run Time Binding
•virtual functions
•virtual destructors
•Pure virtual functions, Abstract base classes
•An extended inheritance example

I/O in C++
The iostream Library
•Pre-defined streams
•Overloading << for User-Defined Classes
•Overloading >> for User-Defined Classes
•Stream states
•Formatted i/o
•Disk files
•Internal transmission of data
•Reading & Writing Objects

Advanced Topics
•Template Functions
•Template Classes
•Multiple Inheritance
•User-Defined Conversions
•Data Structures

Appendix A Review of C
•Data Types
•Pointers vs. Arrays