C++ Programming
Current Version: 02-0400-0803
Summary
This course provides a practical hands-on introduction to the C++
programming language, current to the C++ 17 standard. Participants will learn the central concepts
of the C++ language, with emphasis on the use of object-oriented
techniques in writing robust code. Some advanced features are included.
Prerequisites
Participants must be fluent in ANSI C or a C++-like language such as Java or C#, and have an understanding
of object-oriented concepts.
Course Objectives
On completion of this course, the student should be able to
Create new classes
Describe the process of data abstraction
Create new data types using inheritance
Use C++ class libraries
Implement exception handling
Write template functions and classes
Length
5 Days
Format
Instructor-led course, with practical computer-based exercises.
Course Outline
Why C++?
C vs. C++
Abstract data types
C++ as a better C
I/O services
Standard template library
Standard compliance
Functions
Function overloading
Default parameter values
Variable numbers of arguments
Ambiguity
Inline functions
References
The const and constexpr type-qualifiers
Classes
Class definition
Instantiating and using classes
Member functions
Classes and encapsulation
Constructors and destructors
Constructors and conversions
Storage Management
Memory allocation
Dynamic allocation
Problems with dynamic allocation
Operator Overloading
Simple operator overloading
Return values of operator functions
Predefined operator functions
Conversions
Member vs. non-member functions
Overloading I/O operators
Friend functions
The effect of conversions
Restrictions on overloading
The [ ] operator
Initialization
Initialization vs. assignment
Constructors
Arrays of objects
Branching past initialization
Constant class members
Static class members
Inheritance
Derivation
Overriding names
Constructor and destructor calls
Inheritance at work
Conversions
Features not inherited
Protected members
When to use inheritance
Polymorphism
Polymorphism
Abstract classes
New casting operators
I/O in C++ Programs
Standard streams
Insertion and extraction operators
Manipulators
Unformatted input and output
File input and output
Stream states
Problems with object I/O
Exception Handling
Exception handling concepts
Exception handling terminology
Uncaught exceptions
Inheritance and exceptions
When in an exception handler
Function declarations
Templates
Template functions
Template classes
Argument types
Standard Template Library
Implementation issues
Vector of strings
Range based for loop and auto
Maps
Lambda expressions
Appendix: Review of C
Hardware and Software Requirements
Any standards-compliant C++ compiler.
The course is platform-neutral, so is suitable for
Windows, MacOS or Linux systems.
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4
Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
PL/SQL and SQL*Plus are trademarks or registered trademarks of Oracle
Corporation. Microsoft is either a registered trademark or trademark of Microsoft
Corporation in the United States and/or other countries. MVS is a registered
trademark of the International Business Machines Corp. in the U.S. or other
countries or both. Motif, OSF/1, UNIX, and the "X Device" are registered
trademarks and IT DialTone and The Open Group are trademarks of The Open Group
in the U.S. and other countries. All other trademarks are the property of
their respective owners.