Advanced C++ Programming
Current Version: 02-1101-0303
Summary
This course makes C++ programmers more productive. It focuses on
effective use of the language. This course covers advanced language
features, describes useful implementation techniques, and reviews
object-oriented design guidelines.
Prerequisites
A good working
knowledge of the C++ language is absolutely essential before
attending this course.
Course Objectives
On completion of this course, the student should be able to
- Identify all the major features of the C++ language, including templates and exceptions
- Discuss issues of inheritance
- Use a powerful set of C++ techniques and idioms for solving problems
- Apply object-oriented design concepts to C++ development
Length
5 Days
Format
Instructor-led course, with practical computer-based exercises.
Course Outline
- Using constants and constant pointers
- References, parameters, and variables
- Inline functions and encapsulation
- Templates and initialization
- Defining robust classes
- Constructors and initialization
- Dynamic storage within a class
- Type conversion and array types
- Stand-in classes
- Collection classes
- Data type vs. data structure
- Class templates
- Names and instantiation
- Specialization
Class Relationships
- Inheritance
- Virtual functions, polymorphism, and abstract base classes
- Virtual destructors and base classes
- Constructors
- Dynamic object creation
- Vector allocation
- Sharing memory among objects
- Reference counting and cycles
- Swappable objects
- Smart pointers
- Error-handling strategies
- Throwing exceptions
- Inheritance and exceptions
- C/C++ source and link incompatibility
- Calling C++ code from 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
Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11
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.