Developers: Learn a New Programming Language or App Development with Deitel LiveLessons Videos!
Login  |  Register  |  Media Kit  |  Press  |  Contact Us  |   Twitter Become a Deitel Fan on Facebook  
Custom Search
Visual C   2008 How to Program, 2/e Cover

ISBN: 0136151574
© 2008, pp. 1500

Order now at

VC++200—Visual C++ 2008 and Object Oriented ProgrammingMinimize


An intensive, 5-day, lecture-and-lab Visual C++ 2008 and object-oriented programming course for practicing C (or other high-level language) programmers. Visual C++ 2008 offers all the features of standard C++ and the ability to work with the Visual C++-specific managed code capabilities of the C++/CLI (Common Language Infrastructure). This course covers Visual C++ 2008’s features for data abstraction and encapsulation that enable programmers to create new types, and capabilities for object-oriented programming with inheritance and polymorphism. The course clearly explains the Visual C++ 2008 programming language and contains detailed walkthroughs of many Visual C++ programs. Students become proficient in Visual C++, understand the object-oriented paradigm, and participate in challenging hands-on laboratory assignments. Solutions are provided for the laboratory exercises. 60% lecture and 40% laboratory exercises. 


  • Programming in C or another high-level language, or


Review of C++ syntax and concepts presented in the following chapters of Visual C++ 2008 How to Program, 2/e.

  • Chapter 2—Dive Into® Visual C++® 2008 Express
  • Chapter 3—Introduction to Visual C++ Programming
  • Chapter 4—Introduction to Classes and Objects
  • Chapter 5—Control Statements: Part 1
  • Chapter 6—Control Statements: Part 2
  • Chapter 7—Functions and an Introduction to Recursion
  • Chapter 8—Arrays and Vectors
  • Chapter 9—Pointers and Pointer-Based Strings

Classes: A Deeper Look, Part 1

  • Time Class Case Study
  • Class Scope and Accessing Class Members
  • Separating Interface from Implementation
  • Access Functions and Utility Functions
  • Time Class Case Study: Constructors with Default Arguments
  • Destructors
  • When Constructors and Destructors Are Called
  • Time Class Case Study: A Subtle Trap—Returning a Reference to a private Data Member
  • Default Memberwise Assignment
  • Class View and Object Browser

Classes: A Deeper Look, Part 2

  • const (Constant) Objects and const Member Functions
  • Composition: Objects as Members of Classes
  • friend Functions and friend Classes
  • Using the this Pointer
  • Dynamic Memory Management with Operators new and delete
  • static Class Members
  • Proxy Classes
  • const and friend in C++/CLI
  • Dynamic Memory Management in C++/CLI
  • Stack Semantics in C++/CLI
  • Finalizers
  • Value Types vs. Reference Types in C++/CLI
  • Boxing and Unboxing in C++/CLI
  • Indexers

Operator Overloading; String and Array Objects

  • Fundamentals of Operator Overloading
  • Restrictions on Operator Overloading
  • Operator Functions as Class Members vs. Global Functions
  • Overloading Stream Insertion and Stream Extraction Operators
  • Overloading Unary Operators
  • Overloading Binary Operators
  • Case Study: Array Class
  • Converting between Types
  • Case Study: String Class
  • Overloading ++ and --
  • Case Study: A Date Class
  • Standard Library Class string
  • explicit Constructors
  • C++/CLI Operators and Constructors

Object-Oriented Programming: Inheritance

  • Base Classes and Derived Classes
  • protected Members
  • Relationship between Base Classes and Derived Classes
  • Creating and Using a CommissionEmployee Class
  • Creating a BasePlusCommissionEmployee Class Without Using Inheritance
  • Creating a CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy
  • CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data
  • CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using private Data
  • Constructors and Destructors in Derived Classes
  • public, protected and private Inheritance
  • Inheritance in C++/CLI

Object-Oriented Programming: Polymorphism

  • Polymorphism Examples
  • Relationships Among Objects in an Inheritance Hierarchy
  • Invoking Base-Class Functions from Derived-Class Objects
  • Aiming Derived-Class Pointers at Base-Class Objects
  • Derived-Class Member-Function Calls via Base-Class Pointers
  • Virtual Functions
  • Summary of the Allowed Assignments Between Base-Class and Derived-Class Objects and Pointers
  • Type Fields and switch Statements
  • Abstract Classes and Pure virtual Functions
  • Case Study: Payroll System Using Polymorphism
  • Polymorphism, Virtual Functions and Dynamic Binding “Under the Hood”
  • Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting, dynamic_cast, typeid and type_info
  • Virtual Destructors
  • Polymorphism in C++/CLI

Templates and Generics

  • Function Templates
  • Overloading Function Templates
  • Class Templates
  • Nontype Parameters and Default Types for Class Templates
  • Templates in C++/CLI
  • .NET Generics in C++/CLI
  • Generic Type Constraints
  • Contrasting Templates and Generics

Exception Handling

  • Exception-Handling Overview
  • Example: Divide by Zero Without Exception Handling
  • Example: Handling an Attempt to Divide by Zero
  • When to Use Exception Handling
  • Rethrowing an Exception
  • Processing Unexpected Exceptions
  • Stack Unwinding
  • Constructors, Destructors and Exception Handling
  • Exceptions and Inheritance
  • Processing new Failures
  • Class auto_ptr and Dynamic Memory Allocation
  • Standard Library Exception Hierarchy
  • Other Error-Handling Techniques
  • .NET Exception Hierarchy with C++/CLI
  • Classes ApplicationException and SystemException
  • Determining Which Exceptions a Function Throws
  • finally Block in C++/CLI
  • Exception Properties in C++/CLI
  • User-Defined Exception Classes in .NET

Files and Streams in .NET

  • Files and Streams
  • Classes File and Directory
  • Creating a Sequential-Access Text File
  • Reading Data from a Sequential-Access Text File
  • Serialization
  • Creating a Sequential-Access File Using Object Serialization
  • Reading and Deserializing Data from a Sequential-Access Text File

Standard Template Library (STL)

  • Introduction to the Standard Template Library (STL)
  • Introduction to Containers
  • Introduction to Iterators
  • Introduction to Algorithms
  • Sequence Containers
  • Associative Containers
  • Container Adapters
  • Algorithms
  • Function Objects
  • Introduction to STL/CLR


  • Collections Overview
  • Class Array and Enumerators
  • Nongeneric Collections
  • Generic Collections

Optional Object-Oriented Design (OOD) with the Unified Modeling Language (UML) Case Study

An optional topic for our object-oriented programming classes is our case study on object-oriented design using the UML in which we design and fully implement the software for a simple automated teller machine (ATM). We introduce a subset of the UML 2.0, then guide the reader through an end-to-end first object-oriented design and implementation experience which ends with a walkthrough of the complete code. 


  • $12,995 lecture fee for up to 20 students maximum. Add $1,000 for international or custom classes.
  • Client purchases the books, at its own expense, directly from Pearson (the publisher) at the discounted Deitel rate.
  • Instructor Travel Reimbursement (if travel is required).

Courses in the Visual C++ 2008 Curriculum

Visual C++ 2008 and Object-Oriented ProgrammingIntroduction to Visual C++ 2008 for Non-Programmers: Part 2Introduction to Visual C++ 2008 for Non-Programmers: Part 1


Deitel Dive-Into(R) Series Corporate Training

Safari Trial Subscriptuon

Update :: November 19, 2019