Course Description
This course teaches the syntax and constructs of the Standard C++ programming language. The student will learn the syntax of the language, as well as how to code and execute object-oriented C++ programs.
Programming in C++ Dec 2025Programming in C++
Course Objectives
Course Overview
Suggested References
ClassesCreating a Data StructureMethodsObject ScopeC++ Input and OutputNamespacesData AbstractionEnforcing Data EncapsulationFile OrganizationClasses in C++ObjectsThis Pointer
Creating a Data Structure
Methods
Object Scope
C++ Input and Output
Namespaces
Data Abstraction
Enforcing Data Encapsulation
File Organization
Classes in C++
Objects
This Pointer
Constructors and DestructorsDebug OutputThe Default ConstructorWhen are Constructors Called?The DestructorThe Copy ConstructorOther ConstructorsWhy Did It Work Before?CompositionThe Report ClassCode ReuseInitialization Lists
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
InheritanceInheritanceBugreportProtected Access ModifierAccess and InheritanceConstructors and InheritanceInitialization Lists RevisitedMultiple Inheritance
Inheritance
Bugreport
Protected Access Modifier
Access and Inheritance
Constructors and Inheritance
Initialization Lists Revisited
Multiple Inheritance
Virtual FunctionsInheritance and AssignmentInside Report’s Assignment OperatorUsing Pointers – a Quick Look at BasicsClass Assignment and PointersStatic BindingDynamic BindingPolymorphismThe show_rep() FunctionUsing the show_rep() FunctionDesigning Member Function Inheritance
Inheritance and Assignment
Inside Report’s Assignment Operator
Using Pointers – a Quick Look at Basics
Class Assignment and Pointers
Static Binding
Dynamic Binding
Polymorphism
The show_rep() Function
Using the show_rep() Function
Designing Member Function Inheritance
Pure Virtual FunctionsBugfix and Its Relationship with BugreportBugfix: Association with BugreportUsing Bugfix with show_rep()Adding Bugfix to the HierarchyCoding for the Document ClassReexamining the Document ClassPure Virtual FunctionsUpdated: Designing Member Function Inheritance
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 Inheritance
References and ConstantsReferencesDisplaying ReferencesChanging ReferencesPass by ReferenceReturning by ReferenceConstant VariablesConstant ReferencesConstant Methods
References
Displaying References
Changing References
Pass by Reference
Returning by Reference
Constant Variables
Constant References
Constant Methods
New and DeleteNew and DeleteArray AllocationThe Report ClassCompiler Version of the Copy ConstructorGuidelines for Copy ConstructorsThe Report Constructors and NewThe Report Destructor and DeleteVirtual Destructors
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
Casting in C++Casting: A ReviewNew Casting SyntaxCreating a String ClassThe String ClassThe Conversion ConstructorExpanding Our Casting OptionsCasting OperatorUsing the Casting Operator
Casting: A Review
New Casting Syntax
Creating a String Class
The String Class
The Conversion Constructor
Expanding Our Casting Options
Casting Operator
Using the Casting Operator
Class Methods and DataClass DataClass MethodsUsing the New DataMore on Class Methods
Class Data
Class Methods
Using the New Data
More on Class Methods
Overloaded FunctionsFunction OverloadingUsing Overloaded FunctionsRules for OverloadingOverloading Based on ConstnessDefault ArgumentsInvoking Functions with Default Arguments
Function Overloading
Using Overloaded Functions
Rules for Overloading
Overloading Based on Constness
Default Arguments
Invoking Functions with Default Arguments
Overloaded OperatorsThe Basics of OverloadingOverloading operator+Coping with CommutativityNon-Commutative OperatorsFriends and Their ProblemsThe Assignment OperatorOverloading the << OperatorUsing Date with Cout
The Basics of Overloading
Overloading operator+
Coping with Commutativity
Non-Commutative Operators
Friends and Their Problems
The Assignment Operator
Overloading the << Operator
Using Date with Cout
Exception HandlingWhy Exception Handling?Try / Catch / ThrowException ClassesStandard Exception HierarchyMultiple Catch BlocksCatching EverythingUnhandled ExceptionsException in Constructors and DestructorsDesigning for Exceptions
Why Exception Handling?
Try / Catch / Throw
Exception Classes
Standard Exception Hierarchy
Multiple Catch Blocks
Catching Everything
Unhandled Exceptions
Exception in Constructors and Destructors
Designing for Exceptions
Standard Template LibraryClass Template ConceptsStandard Template Library (STL) OverviewContainersIteratorsIterator SyntaxNon-Mutating Sequential AlgorithmsMutating Sequential AlgorithmsSorting AlgorithmsNumeric Algorithmsauto_ptr ClassString Class
Class Template Concepts
Standard Template Library (STL) Overview
Containers
Iterators
Iterator Syntax
Non-Mutating Sequential Algorithms
Mutating Sequential Algorithms
Sorting Algorithms
Numeric Algorithms
auto_ptr Class
String Class
STL ContainersContainer ClassesContainer Class AlgorithmsVector ClassAdditional vector Class MethodsDeque ClassList ClassSet and Multiset ClassesMap and Multimap Classes
Container Classes
Container Class Algorithms
Vector Class
Additional vector Class Methods
Deque Class
List Class
Set and Multiset Classes
Map and Multimap Classes
Related Certificates
Earning a Saint Louis University Workforce Center certificate allows you to enhance your career options by networking with peers and establishing valuable industry contacts.
ISACA Professional Certificate
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.
See Details
Artificial Intelligence and Large Language Models Foundations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud.
See Details
Artificial Intelligence and Machine Learning for Cybersecurity Operations
Artificial intelligence (AI) and machine learning (ML) are revolutionizing the cybersecurity industry. The emergence of ML as a tool for...
See Details