Visual C++ Programming for C Programmers Course

Course Code: PL 40
Course Abstract:

This intensive course teaches C++ and Windows programming using Visual C++ and the Microsoft Foundation Class Library (MFC). The course consists of two modules.

In the first module object oriented concepts are introduced. The Visual C++ development environment is demonstrated. The C++ class construct is introduced and its key features elaborated step-by-step, providing full implementation of abstract data types. C++ memory management is discussed. Function and operator overloading and the use of references are covered. The scope and access control mechanisms of C++ are described. Inheritance is introduced. The use of virtual functions to implement polymorphism is discussed.

The second module covers the essential elements of Windows programming via an object oriented approach using Visual C++ and the MFC. The basic structure of Windows programs and the MFC encapsulation is explained, and then the power of MFC and the Visual C++ development environment is exploited to build working Windows applications. The student will gain experience using the Visual Studio, AppWizard, and ClassWizard. Fundamental Windows programming topics are covered, including the mouse, keyboard, Graphics Device Interface, controls, dialog boxes, menus, toolbars and status bars. The document/view architecture is introduced. A fundamental approach is taken to understanding MFC, building programs by making direct calls to MFC before using automated tools.

Extensive example programs and lab exercises are provided using Visual C++ 6.0, including some larger scale, cumulative exercises. A file is provided containing all the examples and laboratory exercises in the course.

Audience: This course is designed for C programmers who need to learn Visual C++ programming for Windows
Duration: 5 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:
> Learn object oriented concepts necessary to understand the Visual C++ approach to developing Windows applications
> Acquire a working knowledge of C++ programming
> Learn to use the Visual C++ development tools, Developer Studio, AppWizard, and ClassWizard
> Gain a basic understanding of the structure of the Microsoft Foundation Class Library
> Acquire a working knowledge of Windows programming using Visual C++ and MFC

Course Topics:

Object Oriented C++ Programming Fundamentals
Concepts of Object Oriented Programming
Objects
Information Hiding and Encapsulation
Abstract Data Types
Methods and Messages
Classes
Class Inheritance
Polymorphism

Classes in C++
Data Encapsulation in C and C++
Definition of C++ Classes
Member Data and Functions
this Pointer
Abstract Data Types
Organizing Code for Classes

Functions in C++
Function Prototypes and Type Checking
Conversion of Parameters
Default Arguments
Inline Functions
Function Overloading

Constructors and Destructors
Constructors and Initializations
Object Creation and Destruction
Destructors
Multiple Constructors in a Classv
Hidden Constructors

Memory Management in C++
Static, Automatic and Heap Memory
New and Delete
Handling Memory Allocation Errors
Hiding Details of Memory Management in a Class
Implementing a Dynamic String Class

References and Argument Passing in C++
Call by Value
Reference Declarations
Reference Arguments
Copy Constructor
Constant Arguments and Functions

Operator Overloading, Initialization, and Assignment
Operator Overloading
Semantics of Assignment
Initialization vs. Assignment
Overloading Assignment
Type Conversions

Scope and Access Control
Scope in C++
Friend Functions
Const and Enumeration Types
Static Members

Introduction to Inheritance
Inheritance for Modeling and Reuse
Class Derivation
Access Control
Base Class Initialization
Composition
Initializing Class Type Members

Polymorphism and Virtual Functions
Virtual Functions and Dynamic Binding
Polymorphism in C++
Pointer Conversion
Virtual Destructors
Abstract Classes and Pure Virtual Functions

Appendix A. Introduction to Visual C++
Visual C++ Development Environment
Visual Studio
Managing Projects
Compiling and Linking
Debugging

MFC Windows Programming Fundamentals
Introduction to Windows Programming and MFC
Structure of Windows Programs
Application Frameworks
Class Hierarchy of the MFC Library
CWinApp and CFrameWnd Classes
Event-Driven Programming
Windows Messages
Message Maps

User Input in Windows
Mouse
Using ClassWizard
Using Spy++
Invalidating the Client Area
Keyboard

Graphics Device Interface
Device Contexts
GDI Object Creation and Cleanup
Colors
Pens and Brushes
Drawing with Text

More About Windows
MFC Encapsulation of Windows
Window Creation and Destruction
Focus and Activation
Sending and Posting Messages
Overlapped, Popup and Child Windows
Child Windows and Owned Windows

Document/View Architecture
Using AppWizard
Document and View Classes
Document Templates
SDI and MDI Applications
Document/View Program Structure
Synchronizing Document and Views
Making a Document Persistent

Menus and Resources
Resources in Windows Programs
Developer Studio Resource Editors
String Tables
Menus and Command Messages
Update Command UI Messages
Keyboard Accelerators

Controls and Dialogs
Modal and Modeless Dialog Boxes
Resources and Controls
Controls as Child Windows
CDialog Class and Programming a Modal Dialog
Designing Dialogs with Dialog Editor
Using ClassWizardv
Dialog Data Transfer

Toolbars and Status Bars
Command Messages
MFC Control Bar Classes
Toolbars and Tooltips
Idle Time Processing
status Bars

Prerequisites:

Strong C programming knowledge and experience.

Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning