Training Categories
Click on a link to see more about each course.
Course Outline
Dates Offered (click on the desired date to register):
This course is currently not scheduled for the near future.
Advanced C++
Course Number: C3
Course Description: This course provides the knowledge necessary to use and implement the advanced features of the C++ language. The presentation of advanced topics is complemented by using them with many programming techniques. Particular emphasis is placed on performance issues, practical problems, and implementation.
Objectives: Participants will be able to: •Utilize virtual functions •Identify common problems in implementation C++ features •Understand Virtual Functions •Understand and Use Multiple Inheritance •Use effectively Dynamic memory management •Understand and Use Exceptions •Understand and Use Templates
Benefits:
Target Audience:
Prerequisites: C++ Fundamentals
Course Length: 3 or 4 Days
CourseTopics:
Review of:
Constructors, Destructors, and
Constructor arguments
Dynamic Objects
Coupling, Cohesion
Object-Orientation design notations
Interface Prototyping
Information hidden
Polymorphism
Inheritance
Concept of inheritance
Class diagrams
Base and derived classes
Inheritance vs. composition
Inheritance and pointers
Pointer conversion
Use of base pointers
Heterogeneous arrays
Polymorphism
The concept of polymorphism
Dynamic binding
Virtual functions
Using Virtual functions
Inheritance details
Abstract base Class Virtual destructor
Protocol access
Techniques
Dynamic object ownership
Function as owner
Object as owner
Class as owner
Encapsulation Techniques
Source file organization
Protocol classes
Efficiency
Principles
Methodology
Collections
Interface vs. Implementation
Data structure selection
Bounded vs. unbounded
Iterator functions
Iterator objects
Iterator state
Dangling iterator
Dangling references
Templates
Class templates
Template instantiation
Implementation
Leveraging Templates
Templates as implementation tools
Implementation Issues
Performance
Executable code size
Multiple Inheritance
Interface inheritance
Abstract callback protocols
Multiple sever protocols
Virtual Base Classes
Construction
Assignment
Dominance
Dynamic and multiple classification
Dynamic classification
Multiple classification
Their relationship to inheritance
Exceptions
Throw and catch
Exceptions in new code
Class Libraries
Design and Implement of a Generic Container Class
using void pointer (like C)
using subclasses
using inheritance
using templates