This class is designed for accomplished C Programmers who want to learn how to use C++ to program with Object Oriented techniques.
Previous training in C language programming is recommended.
The following topics are reviewed in the class, however, it is assumed that delegates will begin this course with some knowledge of them:
- C Structures.
- C Keywords.
- Naming Restrictions.
- Function Prototyping.
- Comments in C.
- Case Sensitivity.
- C Expressions.
5 days. Hands on.
To learn how to program using C++ and Object Orientated techniques.
Course material covers the following topics:
- Data Hiding.
- Storage Classes.
- Friend Functions.
- Abstract Classes.
- Management of Class Source & Object Files.
- Abstract Data Types.
- Building Windows Applications (if applicable).
- Data Encapsulation.
- Storage Allocation.
- Arrays of Class Objects.
- Friend Classes.
- Class Libraries.
Basic Concepts of Object Orientated Programming Skills
Abstract Data Types.
Skills: Students will be able to define these terms and describe how they relate to the overall goals of object orientated programming.
Basic Concepts and Syntax
C++ and ANSI C.
Declaring Classes & Objects.
Defining Constructors & Destructors.
Skills: Using hands on workshops the delegates will create and use a simple class. Students will be able to compile, link and run simple C++ programmes that use the above concepts.
Classes with Pointers
Review of Storage Allocation.
Constructors and Destructors.
Overloaded Assignment Operator.
The this Pointer.
The Copy Constructor.
Skills: Students will Create and use more complex classes. They will describe and demonstrate in C++ the difference between function calls by value and function calls by reference. They will describe the 3 main storage areas and write C++ code to create objects in each of these areas. They will also describe the difference between the overloaded assignment operator and the copy constructor.
More Features of Classes
Static Data Members.
Static Member Functions.
Pointer to Member Operators.
Arrays of Class Objects.
Dynamic Storage Allocations.
The New and Delete Operators.
C++ Preprocessor Statements.
Skills: Students will be able to use friend functions & friend classes to access data, use the new and delete operators to work with memory from the heap, use static data members and member functions, use the pointer to member operators and use the C preprocessor to avoid circular definitions in header files. In the hands on element of this module they will be using Static Variables, building a Stack, embedding an Object in a Class, using Storage Allocation.
More on C++ Syntax
Scope Access Operators.
Virtual Base Classes.
Full Syntax of A Class Definition.
Skills: In this module delegates will be learning to use more complex aspects of the C++ language.
Base & Derived Classes.
Accessibility of Members.
Member Function Overriding.
Order of Execution.
Overriding Function Overrides.
Base Pointers & References to Derived Objects.
Skills: Students will be able to use C++ to code the basic concepts of inheritance. Workshops will enhance the concepts of Basic Class Inheritance and Creating a Stack of Strings using Inheritance.
Polymorphism and Abstract Classes
Definition Virtual Functions.
Skills: Students will be taught how to define Polymorphism, define an Abstract Class and use Virtual Functions. They will also use Virtual Tables and Virtual Destructors. Workshops will highlight the use of Virtual Functions and Abstract Classes.
Class Libraries and Programming
Container Class Libraries.
Class Library Directories.
Using Existing Class Libraries.
The Windows Classes.
Building a Windows Application.
Linking for Windows.
Skills: Students will be able to describe what to look for in existing class libraries and write a simple Windows application using C++. This will be reinforced with practical exercise. Students will also use the exercise to place Classes in a library. If the students are not going to be working in a Windows environment then this module will be adapted to a suitable Linux/UNIX platform environment.