Course Content
The C++ Language
- General improvements to the C Language, such as:
- References
- Default arguments
- Function overloading
- Namespaces as an aid to modularity
The Free Store
- New and delete operators
- Improving and replacing C's malloc and related functions
Classes
- 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
- Modification and exploitation of existing functionality to produce the required solution
- Deriving new classes from existing classes
- Adding additional features
- 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
The Microsoft Foundation Classes
- The Visual C++ development environment and its wizardry
- The MFC class library and its document/view architecture
Messages & Message Maps
- Message handling in MFC applications
- Menus
- Dialogs
- Toolbars
- Class Wizard
- The MFC class hierarchy in more detail
Other MFC Features
- MFC features not directly related to Windows such as collection classes and serialization.
Scrolling & Splitting
- Document/View architecture
- Multiple document types and views
- Scrolling and splitter windows
Dialogs
- Dialog classes and architecture
- Data exchange and validation techniques provided by MFC and the Class Wizard
- The use of standard Windows controls and custom controls
Graphics, Text & Printing
- Graphical Device Interface (GDI)
- Class wrappers and member functions
- Text font selection and use
- Device independent printing
Dynamic Linking
- Using and Writing Dynamic Link Libraries
- Initialization and termination
- Thread Local Storage
Introduction to ActiveX & COM
- The Terminology - OLE, ActiveX, Automation, COM and DCOM
- Creating clients and servers using MFC