| . |
. |
MASTERING POINTERS AND COMPLEXITY IN C++
This intermediate C++ seminar is intended to give intermediate and
advanced programmers and analysts a solid set of tools for dealing with the
complexity which can arise in C++ programming.
The seminar is organized into several Units, each dealing with one type of
complexity appearing in C++ programs. Unit 1 explores complexities in C++
inherited from C. This complexity is particularly apparent in expressions involving
pointers, array subscripts, pointers to functions and multi-dimensional arrays.
Unit 2 focuses on complexities of declarations and expressions unique to C++.
Topics studied include references, operator and function name overloading
subtleties, const and static member functions, as well as the ambiguity resolution
algorithm.
Unit 3 explores the new types of pointers in C++. Pointers to members and
member functions are illustrated and explained. Several complex aspects of
these new pointer types are discussed.
Unit 4 investigates complexities related to inheritance. When and where to use
the various forms of inheritance is examined, as well as when to avoid inheritance
in class design. The types of inheritance are explored, as are many subtleties of
virtual and pure virtual functions.
Units 5 and 6 are presented only in the two day format. Unit 5 develops the
subject of complex idioms in C++. C++ classes can be used idiomatically to
model many complex subjects. This unit explores several advanced idiomatic
techniques for use in sophisticated applications.
Finally, unit 6 explores the complexity of class design in C++. Issues covered
include the canonical form of a class, as well as what to think about in designing
C++ classes. This seminar is presented in a one or two day lecture format.
Some familiarity with the fundamentals of C++ is strongly recommended.
This intermediate C++ seminar will focus on techniques for mastering the use of
pointers, specialized member functions, inheritance and other complexities in C++
programs. Simple, reliable rules for working with numerous complex areas within
C++ will be illustrated and explained.
o Unit 1 explores complexities in C++ which have been inherited from
C. Complex declarations and expressions using arrays, pointers,
subscripts, and dereferencing are examined and explained with clear
general principles.
o Unit 2 focuses on complex issues unique to C++ declarations and
expressions. References are examined, both with regard to how they
are alike and different from pointers. Static, const, operator, inline and
friend functions are demonstrated and clearly explained.
o Unit 3 investigates the new pointer types of C++; pointers to members
and member functions. These new pointer types provide valuable
tools for run-time decision making and localization of affect as
provided by class scoping. Correct and incorrect approaches are
demonstrated and clarified.
o Unit 4 of the one day seminar investigates issues related to inheritance.
Public and private inheritance modes, multiple and single inheritance,
the details of protected access, as well as when to use inheritance and
polymorphic approaches in C++ systems are all covered.
OBJECTIVES AND ATTENDANCE SUGGESTION:
OBJECTIVES: The objective for this course is to give attendants a practical
mastery of numerous complex areas in C++.
WHO SHOULD ATTEND: Anyone learning C++, or who has learned C++,
who has questions about complex C++issues
involving pointers, operators, functions, classes,
inheritance and polymorphism.
|