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
  • 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
  • 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

    Go to course catalogue