Arkoa homepage
About Arkoa News & Events Contact Us Careers
  Course Catalog : C/C++ Programming :

Advanced C++ Programming
5 days

Course # 02-1101


Description

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.

Audience
Systems and applications programmers who need to use C++ to design and write new software.

Prerequisites
Participants must have attended an introductory C++ course to the level of Arkoa’s C++ Programming, and should have at least three to six months of experience using C++.

Hardware and Software
A C++ development environment, including a compiler with template support, is required. A compiler that supports exception handling is recommended. The system should be able to load a 3.5” DOS-formatted solution disk.

 

 


Format

  • Presentation
  • Hands-on

Objectives
After completing this course, participants 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




Topics


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