|Course Duration 5
completion of the course the delegate should be able to:
maintain and debug C++ programs, use dynamic memory, make effective
use of the Standard Library including the Standard Template Library,
write object-oriented code using encapsulation, inheritance and
course is designed for experienced programmers that need to write or
maintain object-oriented C++ programs.
is assumed that anyone attending this course is experienced in a
block-structured language such as Pascal, modern variants of Basic,
Smalltalk, Ada etc. They should be familiar with concepts such as
functions or procedures, control flow, arrays, and structures or
records. Knowledge of C is neither assumed nor required
course is spread over a five-day period and comprises of
instructor-led presentations and practical hands-on exercises. The
practical sessions are structured to give the delegates the
opportunity to put into practice all of the language constructs
covered during the instructor-led sessions.
The delegates will be able to take away with them copies of all
the code they have written, along with sample solutions and
Basic program components; functions, statements, file inclusion, input
and output, keywords, variables, operators.
Identifiers, fundamental data types and their operators, constants,
operator precedence, conversions, casting, scope.
Enumerations, data structures, aggregation, Standard Library string
Boolean operators, conditional selection, iteration.
Functional modularity, passing data in and out of functions, pass by
value and reference, member functions, optimization with inline.
Basic containers; arrays and the standard template library vector
class, access through subscripting and member functions, C type
Object-orientation and classes, encapsulation, automatic construction,
copying and conversions.
Concept of indirection, null pointers, using pointers with functions
and arrays, pointer arithmetic.
Accessing the heap or freestore with new and delete, dynamic arrays,
Aggregation and association, delegation, managing custody of dynamic
memory, copying custodial objects.
Class operators, overloading with globals or members, lvalue
operators, copy assignment.
Working with the Standard Streams; file streams, manipulators, string
Introducing templates and the main Standard Template Library container
classes; vector, deque, list, set and map. Guidelines on choosing the
right container for the job.
Using Iterators to access the elements of Standard Template Library
containers, introducing the standard algorithms.
Object-orientation and inheritance.
Creating and using derived classes, vertical delegation,
Declaring and using virtual functions and the need for virtual
destructors. Pure virtual
functions and abstract classes.
Overview of some advanced features; exception handling, namespaces,
multiple inheritance, smart pointers, template functions, extending