C++/CLI Essentials Training

Answers to Popular Questions:

Yes, this class can be tailored to meet your specific training needs.
Yes, we provide C++ consulting services.
Yes, group discounts are provided.

Course Description

This two-day course is designed for the experienced C++ programmer to help you quickly come up to speed on the C++/CLI language. It is current to Visual Studio 2005 and .NET 2.0, which introduces important new features, such as generic types. This course concisely covers the essentials of programming using Microsoft's C++/CLI programming language. The course is practical, with many example programs and a progressively developed case study. The goal is to quickly bring you up to speed in writing C++/CLI programs.
Course Length: 2 Days
Course Tuition: $790 (US)


The student should be an experienced application developer or architect with a good working knowledge of C++ and object-oriented programming.

Course Outline


.NET: What You Need to Know
Getting Started
.NET: What Is Really Happening
.NET Programming in a Nutshell
Viewing the Assembly
Viewing Intermediate Language
Understanding .NET
Visual Studio 2005
Visual C++ 2005 Express Edition
Creating a Console Application
Solution Explorer
Adding a C++ File
Using the Visual Studio Text Editor
Build and Run the Project
Pausing the Output
Visual C++ 2005 and GUI Programs
.NET Documentation

C++/CLI Fundamentals
Hello, World
Compiling, Running (Command Line)
Program Structure
Input in C++/CLI
Classes in C++/CLI
InputWrapper Class
Input Wrapper Implementation
Control Structures
C++/CLI Operators
Types in C++/CLI
Simple Types
Types in System Namespace
Implicit Conversions
Explicit Conversions
Cast Notation
value struct
Uninitialized Variables
Enumeration Types
Reference Types
Class Types
Copying Strings
StringBuilder Class
Classes and Value Classes
RHotel Ref Class
Copy Constructors in C++/CLI
VHotel Value Class
RaisePrice Methods
Value Class versus Ref Class
One-Dimensional Arrays
Jagged Arrays
Rectangular Arrays
for each for Arrays
Boxing and Unboxing
Output in C++/CLI

Object-Oriented Programming in C++/CLI
Classic C++ Object Model
Object Lifetime in Classic Model
Object Lifetime in .NET Model
Object Lifetime in C++/CLI
Stack Allocation
C++/CLI Object-Oriented Features
Encapsulation and Properties
Using a Property
Indexed Properties
Using an Indexed Property
Trivial Properties
Account Class
Static Members
Inheritance in C++/CLI
New Version of Base Class
Features of the New Base Class
Derived Class
Overriding a Virtual Function
Fragile Base Class Problem
Abstract Ref Classes
Derived Classes
C++/CLI and the .NET Framework
Components and OO in C++/CLI
Interfaces in C++/CLI
Interface Inheritance
Programming with Interfaces
Implementing Interfaces
Using an Interface
Dynamic Interfaces
Account Interfaces
BasicAccount Class
Account Class
Interfaces in C++/CLI and COM
Resolving Ambiguity
Explicit Interface Implementation
ArrayList Methods
Adding and Removing String
IEnumerable and IEnumerator
Using Enumerators
Collections of User-Defined Objects
Account Class
AccountList Class
Copy Semantics in C++/CLI
Deep Copy and Icloneable
Writing Generic Code
Using a Class of Object
Generic Types
Generic Syntax in C++/CLI
Generic Client Code

Delegates and Events
Overview of Delegates and Events
Callbacks and Delegates
Usage of Delegates
Declaring a Delegate
Defining a Method
Creating a Delegate Object
Calling a Delegate
Random Number Generation
A Random Array
Combining Delegate Objects
Events in C++/CLI and .NET
Client Side Event Code

Introduction to Windows Forms
Creating a Windows Forms App
Windows Forms Event Handling
Add Events for a Control
Events Documentation
Closing a Form
ListBox Control

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.