Microsoft Applications



Programming



Crystal Reports



Adobe Design & Web Tools



Management



Servers & Networking

C++ Advanced & Standard Libraries

Programming > C++

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, reviews object-oriented design guidelines, how to make effective use of the STL, by describing the tools that are available and their abilities, and giving tips and examples on how to incorporate them into programs and projects. Aditionally, students are taught how to design new STL-like tools for situations where existing components are inadequate.

Audience

Experienced systems and applications programmers using C++ to design and write software.

At Course Completion

After completing this course, students will 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

         Describe the components of the STL

         Outline the advantages of template-based programming

         Select appropriate STL tools

         Effectively use STL containers, iterators and algorithms

         Design and implement new containers, iterators and algorithms

Pre-requisites

A sound knowledge of C++ is essential, including familiarity with templates and operator overloading. A reasonably comprehensive C++ course should be a provide sufficient background, providing the student has previous programming experience.


Price:
$3,100.00
(inc GST)



Book Now




View Timetable



Print Course Outline



Enquire Today

Course Outline

Experienced Use of C++

Using constants and constant pointers

References, parameters, and variables

Inline functions and encapsulation

Templates and initialization

User-Defined Data Types

Defining robust classes

Constructors and initialization

Dynamic storage within a class

Type conversion and array types

Stand-in classes

Generic Data Types

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

Memory Management

Dynamic object creation

Vector allocation

Sharing memory among objects

Reference counting and cycles

Swappable objects

Smart pointers


Exception Handling

Error-handling strategies

Throwing exceptions

Inheritance and exceptions

Mixing C and C++

C/C++ source and link incompatibility

Calling C++ code from C

Standard Library Introduction

What is the STL

History of the STL

Disadvantages of traditional C/C++

How STL solves common C/C++ problems

Review

Templates

Function Templates

Class Templates

Function Objects

Containers Part 1

Vector

Stack

Queue

Double ended queue

 


Iterators

What are iterators

Types of iterators

Using iterators

Const iterators

Random iterators

Containers Part 2

List

Set

Map

Multimap

Algorithms

Plug-in algorithms

Aggregation algorithms

Iterative algorithms

Searching algorithms

Sorting algorithms

Writing STL Add-ons

Writing containers

Writing iterators

Creating plug-in algorithms

STL compatibility and availability


Can't find a course or interested in corporate bookings?
Other course dates available for corporate bookings. Click here for more information »