This
3-day
course
is for
experienced
C programmers
who wish
to learn
object-orientated
programming
techniques
using
C++.
The course
covers
the C++
language
itself
and does
not assume
any particular
target
system
or development
environment.
Prerequisites
Students
should
have a
good understanding
of C language
features
such as
structures
and pointers
before
attending
this course.
Course
Content
C++
as
a
Better
C -
General
improvements
to
the
C
Language,
including:
-
References
-
Default
Arguments
-
Function
Overloading
-
Namespaces
as
an
aid
to
Modularity
The
Free
Store C++
New
and
Delete
Operators,
which
improve
and
replace
C's
Malloc
and
related
functions.
Classes -
C++
and
its
support
of
Classes
and
Objects
-
The
concept
of
Object
Orientation
and
its
implementation
in
C++
Encapsulation -
Combining
data
and
the
functions
which
use
it
into
a
single
entity
-
Member
Access
-
Private
-
Public
-
Protected
-
Using
Constructors
and
Destructors
for
Initialization
and
Cleanup
-
Design
Guidelines
Inheritance -
The
ability
to
exploit
and
enhance/modify
existing
functionality
to
produce
the
required
solution
-
Deriving
New
Classes
from
Existing
Classes
-
Adding
Additional
Features
and
Overriding
-
Existing
Functions
to
Enhance
or
Replace
them
Polymorphism -
Polymorphism
-
Implementation
in
C++
by
providing
'Virtual'
Functions
Operator
Overloading -
Defining
the
behaviour
of
Standard
Operators
such
as
'+'
when
used
with
New
Classes
and
their
importance
as
an
aid
to
the
usability
of
classes
-
Copy
Constructors
-
Type
Conversion
Streams C++
providing
a
Replacment
to
the
C
Input/Output
Library
using
Streams.
Templates -
Implementation
of
Templates
-
The
use
of
Existing
Templates
-
from
the
Standard
Library