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

C++ Programming
5 days

Course # 02-0400


Description

This course provides a practical hands-on introduction to the C++ programming language. Participants will learn the central concepts of the C++ language, with emphasis on the use of object-oriented techniques in writing robust code. Some advanced features are included.

Audience
Systems and applications programmers with substantial experience in the design and implementation of major software projects.

Prerequisites
Participants must be fluent in ANSI C and have an understanding of object-oriented concepts

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

 

 


Format

  • Presentation
  • Hands-on

Objectives
After completing this course, participants should be able to:

  • Describe object-oriented programming techniques
  • Use the syntax and semantics of the C++ programming language
  • Create new classes
  • Write an object-oriented program in C++
  • Describe the process of data abstraction
  • Create new data types using inheritance
  • Use C++ class libraries
  • Implement exception handling
  • Write template functions and classes



Topics


Why C++?

  • C vs. C++
  • Abstract data types
  • C++ as a better C
  • I/O services
  • Standard template library
  • Standard compliance

Functions

  • Function overloading
  • Default parameter values
  • Variable numbers of arguments
  • Ambiguity
  • Inline functions
  • References
  • The const type-qualifier

Classes

  • Class definition
  • Instantiating and using classes
  • Member functions
  • Classes and encapsulation
  • Constructors and destructors
  • Constructors and conversions

Storage Management

  • Memory allocation
  • Dynamic allocation
  • Problems with dynamic allocation

Operator Overloading

  • Simple operator overloading
  • Return values of operator functions
  • Predefined operator functions
  • Conversions
  • Member vs. non-member functions
  • Overloading I/O operators
  • Friend functions
  • The effect of conversions
  • Restrictions on overloading
  • The [ ] operator

Initialization

  • Initialization vs. assignment
  • Constructors
  • Arrays of objects
  • Branching past initialization
  • Constant class members
  • Static class members

 

 


Inheritance

  • Derivation
  • Overriding names
  • Constructor and destructor calls
  • Inheritance at work
  • Conversions
  • Features not inherited
  • Protected members
  • When to use inheritance

Polymorphism

  • Polymorphism
  • Abstract classes
  • New casting operators

I/O in C++ Programs

  • Standard streams
  • Insertion and extraction operators
  • Manipulators
  • Unformatted input and output
  • File input and output
  • Stream states
  • Problems with object I/O

Exception Handling

  • Exception handling concepts
  • Exception handling terminology
  • Uncaught exceptions
  • Inheritance and exceptions
  • When in an exception handler
  • Function declarations

Templates

  • Template functions
  • Template classes
  • Argument types
  • Standard Template Library
  • Implementation issues
  • Vector of strings
  • Maps
  • Appendix: Review of C