Vous êtes sur la page 1sur 1

Course Length

Advanced C++ Programming 5 Days


TE2203_20081006

Course Description: This course broadens the skills of a C++ language programmer by examining sophisticated C++
concepts such as templates, exceptions, memory management, advanced inheritance issues,
disambiguation of overloaded functions, private and protected inheritance, binary I/O and class libraries.

Who Should Attend: This course is for anybody who has programmed in C++ and wishes to enhance their knowledge of the
language.
Students should have completed an introductory C++ programming course or have equivalent
Prerequisites: knowledge.

Benefits of Attendance: Upon completion of this course, students will be able to:
• Differentiate between global functions, friend functions and • Disambiguate data and functions using multiple inheritance.
member functions. • Understand the difference between various kinds of inheritance.
• Code their own memory management routines by overloading • Use pointers to class member functions.
operators new and delete. • Understand the C++ mechanism to resolve overloaded
• Write classes and functions with parameterized types. functions.
• Understand and handle exceptions in C++ programs.
Course Outline:
What You Should Already Know - A Member Initialization Lists
Review operator= Disambiguation
Rationale for a New Programming Language Conversion
The Language of Object-Orientation Data Structures int Conversion
A Typical C++ Class Introduction float
Issues Regarding Member Functions vs. Non-Member A Simple List +
Functions Layering Type-safe Classes Upon List double Conversions
friend or non-friend A template Arithmetic and Pointer Conversion
Functions Returning References List Class Inheritance Based Conversion
Relationships Iterators Overloaded Functions
Initialization Lists A template Exact Match
Inheritance In C++ Iterator Match with Promotion
Access Levels Stack and Queue Classes Match with Standard Conversion
Simple C++ I/O Templates and Inheritance User Defined Conversion
The Many Uses of const Constructors as Conversion Operators
Function Pointers Ambiguities
Parameterized Types - Templates Why Have Function Pointers?
Templates Passing Functions as Arguments I/O
Overloading Functions Registering Functions Introduction
Template Functions Function Pointers in C++ Manipulators
Specializing a Template Function Callback Functions Writing Your Own Manipulators
Disambiguation Under Specialization A Class with a Callback Object Overloading the I/O Operators
Template Classes Registration of Exception Handlers Disk Files
Instantiating a Template Class Object Reading and Writing Objects
Exceptions Internal Transmission of Data
Rules for Template Classes What Are Exceptions? A Spell Checker
A Non-Member Function with a Template Argument Traditional Approaches to Error Handling Handling Streams in the Constructor and Destructor
Friends of Template Classes try, catch, and throw Treating a File as an Array
Templates with Multiple Type Parameters A Simple Exception Handler Example
Comments Regarding Templates Multiple catch Blocks
Relationships of all Kinds The Exception Specification List Miscellaneous Topics
Uses of Member Initialization Lists Rethrowing an Exception Namespaces
Member Initialization Lists Under Composition Cleanup Use Counts
Initialization Lists Under Inheritance Exception Matching Reference Counts
Initialization Lists With Multiple Inheritance Inheritance and Exceptions RTTI
Initialization Lists with Multiple Inheritance and Composition Resource Allocation Casts
Efficiency Constructors and Exceptions Having a Limited Number of Objects
operator= and Composition Destructors and Exceptions Smart Pointers
Constructors and Composition Catch by Reference
What is not Inherited? Standard Exceptions
operator=, Construction, and Inheritance The C++ Standard Template Library
Public Inheritance Introduction
virtual Functions The Standard Template Library
A Shape Class Hierarchy Design Goals
Polymorphism STL Components
Pure Virtual Functions Iterators
Abstract Base Classes Example: vector
Private Inheritance Example: list
using Relationships Example: set
Associations Example: map
Multiple Inheritance (MI) Example: find
Multiple Inheritance Example: merge
Ambiguities Example: accumulate
virtual Base Classes Function Objects
The Dominance Rule Adaptors

http://www.trainingetc.com Phone: 410-290-8383 / Fax: 410-290-9427

Vous aimerez peut-être aussi