Home
Courseware
Course
Listing
Instruction
Philosophy
Clients
Publications
Résumé
|
Accelerated Introduction to C++ and MFC
(For C Programmers Only)
Course Outline:
Introduction and Overview of C++
Two Approaches to Programming
Procedural Programming
Object-Oriented Programming
Goals of the C++ Language
Compatibility
Optimization
Portability
Promotion: A Discipline for Reuse
Encapsulation and Data Hiding
Restaurant Programming
Semantically Consistent Polymorphism
Semantically Disparate Polymorphism
Data Abstraction
Reusable Software
Complexity
Software Architecture
Problem domain -> Software Domain
Encapsulating human expertise
Portability, Maintainability, Testability
Organizing Software
Package Data and Operations
C++ As Better C
Program Structure
Statements
Expressions
Memory Management
Value Semantics
Class User Programming in C++
Types and user-defined types
User-defined types and classes
The concept of reusable software components
Demonstrate reusable software components
Examples that use user-defined types
Class Synthesis for Class Users Part I
Introduction
Value Semantics
Middle Ground
Class Synthesis Using Built-In Data Types
Parameterization
C++ Support for OOAD (Object-Oriented Analysis and Design)
Multiplicity
Aggregation and class synthesis
Inheritance, mix-ins and class synthesis
Collaboration
Delegation
Class Synthesis for Class Users Part II
Containers
Arrays
Multiply dimensioned arrays
Strings
Subscripting
Lvalues and Rvalues
Returning References
Constant arguments
Defining I/O for Containers
Members, Friends & C-Style Function
Hughes Class Library (HCL)
Class Synthesis
Value Semantics with Pointers
Default constructors
Conversion constructors
Copy constructors
Assignment operators
Destructors
Friend, Member & C-Style Functions
Memory Allocation
Static (Global)
Automatic (Local)
Dynamic
Class String
A Preview of Advanced C++ Features
MFC Class Overview
MFC Data Types
MFC Utility Classes
MFC Class Hierarchy
MFC Debugging Support
MFC Application Framework
MFC Container Classes
The Windows Programming Model
Event Driven Applications
The Message Pump
Window Procedures
Windows System Services
Resources
Message Handling
Mouse and keyboard input
Message maps
ClassWizard
Simple Drawing
Capturing mouse input
GDI
CDC Classes & Drawing Functions
GDI Drawing Tools
Pens
Brushes
Fonts
Bitmaps
Icons
Cursors
Coordinate Systems
Menus
Purpose and Design of menus
Building a menu
Handling menu commands
Handling unavailable menu items
Using context menus
Dialogs
Modal vs. Modeless Dialogs
Message Boxes
Custom Dialogs
DoDataExchange and DDX/DDV
Modeless Dialogs
Document/View Architecture
Basis of Document/View Architecture
SDI vs. MDI application styles
Document/View classes
Decoupling document
and view
Navigating between the classes
Serialization
Purpose of Serialization
CArchive Objects
Serializing Document Data to/from a CArchive Object
Creating Serializable Classes
MDI and Multiple Views
MDI Architecture
Multiple views
Document templates
Adding new view classes
Launching new views from a window menu
Controls
Using control classes
Using control views
Form Views
CForm View
Creating a form view
Initializing a form view
Handling control messages
Resizing
Splitter Windows
Dynamic splitter windows
Static splitter windows
Using a dynamic splitter window
Using a static splitter window
MFC Database Support
Creating a database
Creating a DAO Database Browser
Creating a ODBC Database Browser
MFC OLE
Demonstrate OLE Embedded Document Server Support
Demonstrate OLE Embedded Document Container Support
Please contact Sieg to arrange for rapid, custom
courseware development, or to inquire about his availability to deliver training
to your organization: Phone 303-494-5509, Email siegfried@heintze,com.
Siegfried Heintze
(303) 494-5509
www.heintze.com
siegfried@heintze.com
|