This
C++ course
is designed
for people
with no
prior
knowledge
of the
C language.
While
it covers
those
aspects
of C++,
which
are common
to C,
it concentrates
on a modern,
object-orientated
approach
to the
language
rather
than covering
C and
then extending
it to
C++. Microsoft's
tools
are used
on the
course,
however
no specific
development
environment
or target
system
is assumed.
Prerequisites
Knowledge
of another
language
would
be an
advantage,
although
not essential.
Course
Content
Getting
Started -
Writing,
building
and
running
a
C++
program
-
Language
structure
-
The
Main
Procedure
-
Basic
stream
and
console
Input/Output
-
Declaring
and
initialising
variables
-
Fundamental
data
types
-
Strings
Structured
Programming -
Control
Flow,
Loops
and
Conditions
-
The
for
Loop
-
do
and
while
-
if
and
else
-
The
Conditional
expression
-
Functions
and
argument
passing
-
Argument
passing
by
value
and
reference
-
Predeclarations
and
Prototypes
-
Using
Header
Files
-
The
Switch
statement
-
Variable
Scope
-
Local,
Static,
Global
-
Variable
Lifetimes
-
Using
Namespaces
-
Memory
management
-
Casting
and
Cast
types
Classes
&
Objects -
What
is
Object
Orientation?
-
Defining
Classes
and
creating
objects
-
Classes
vs.
data
structures
-
Object
Oriented
design
concepts
Using
Objects -
Encapsulation
and
data
Hiding
-
Constructors
and
Destructors
-
Default
Constructors
and
Initialisation
-
Class
Definition
and
Implementation
-
Inheritance
and
Polymorphism
-
Overriding
-
Constructing
applications
using
objects
-
Class
examples
-
Practical
Polymorphism
-
Virtual
Functions
-
Abstract
Base
Classes
-
Run
time
Type
information
and
dynamic_cast
-
Constant
and
Static
Members
-
Using
'this'
-
Calling
the
Base
Class
Constructor
explicitly
-
Friends
-
Multiple
Inheritance
and
Virtual
-
Base
Classes
Dynamic
Objects -
Pointers
and
the
use
of
New
and
Delete
-
Arrays
and
Collections
-
Safe
use
of
Pointers
-
Pointers
and
References
Operator
Overloading -
Basics
of
Operator
overloading
-
Operator
overloading
rules
-
Operator
examples
-
Mixing
Types
-
Binary,
Unary
and
Postfix
Operators
-
Friends
and
Alternatives
-
Type
Conversion
Operators
-
Operator
=
Assignment
and
Construction
-
The
Copy
constructor
-
Practical
examples
Templates -
How
Templates
work
-
Function
Templates
-
Type
safety
-
Templates,
Parameter
Types
and
Overloading
-
Class
Templates
-
Using
Constants
-
Templates
in
the
Standard
Library
-
Designing
and
using
Templates
Error
&
Exception
Handling -
Exceptions
in
C++
-
try,
catch
and
throw
-
Strategies
for
errors
and
exceptions
-
Deriving
Exception
Classes
Additional
&
Historic
Features -
Structs,
Unions
and
typedef
-
More
about
Main
-
Logical
and
Bitwise
operators
-
Conditional
compilation
and
the
Pre-processor
-
Compatibility
with
C
-
More
Streams
-
Ancient
Features