Audience
Application developers software engineers systems engineers and programming specialists are some of the people who would benefit from taking this course. Anyone who designs and implements system level programs or corporate client/server applications and anyone who maintains and updates existing client/server applications would be good candidates for this course. Participants should be fluent in the ANSI C programming language have a comprehensive understanding of the programming process and have exposure to the fundamental concepts of object-orientation. Students should either have knowledge equivalent to or have taken the C Programming series (courses 13201-13204) prior to taking this course. In addition students should have taken the first two parts in this series courses 13205 and 13206.
Objective
- Identify the features of types of polymorphism.
- Implement operator and functions overloading within guidelines.
- Identify virtual functions and abstract classes using pure virtual functions.
- Declare a function template.
- Overload a function template.
- Create a class template.
- Use a class template.
- Manage the memory used by objects.
- Identify the concepts of reference counting and garbage collection.
Topics Include
Unit 1: Polymorphism
- Identify the features of the types of polymorphism.
- Identify the benefits of polymorphism in C++.
- Identify the characteristics of the different types of binding functions.
- Identify the entities that can be overloaded.
- Identify the syntax to overload a function.
- Identify the code to overload a unary operator.
- Identify the code to overload an arithmetic operator.
- Identify the code to overload a comparison operator.
- Identify the code to overload an assignment operator.
- Identify the code to overload a special operator.
- Identify the code for overloading an operator by using a friend function.
- Identify the code that overloads a shift operator by using a friend function.
- Identify a situation in which virtual functions are required.
- Identify the syntax that is used to call virtual functions.
- Identify the code that implements an abstract base class using pure virtual functions.
- Identify the code that implements overriding of base class functions.
Unit 2: Templates: Functions and Classes
- Identify the situations in which function templates are used.
- Identify the syntax for declaring a function template.
- Identify the overloaded function template that will be executed in a specified situation.
- Identify the function template that will be executed when multiple data types are passed as parameters.
- Identify the situations in which class templates are used.
- Identify the code to implement a class template in a specified situation.
- Identify the most appropriate method of creating a class hierarchy in a specified situation.
Unit 3: Memory Management
- Match the storage areas with the variable types stored in them.
- Identify the benefits of memory management operators.
- Identify the code to overload memory management operators in a specified situation.
- Match the methods for releasing the memory space of unreferenced objects with their descriptions.
- Complete the code to control memory allocation for objects by using the new operator.
- Complete the code to control memory deallocation by using the delete operator.
- Identify the code to implement memory management by using reference counting.
Duration
8
Minimum Requirements
The CDROM version of this course requires:
- At least a 486DX 33Mhz CPU.
- Microsoft Windows 3.1 or higher and a Microsoft compatible mouse.
- At least 8MB RAM.
- At least VGA graphics capability with a minimum 512K video RAM (1MB video RAM recommended).
- At least a double speed CDROM drive.
- An MPC compliant sound card with attached speakers or headphones is recommended (Currently only the CDROM version supports audio).
The network version of this course requires:
- At least a 486DX 33Mhz CPU.
- Microsoft Windows 3.1 or higher and a Microsoft compatible mouse.
- At least 8MB RAM and 22MB available hard disk space or file server space.
- At least VGA graphics capability with a minimum 512K video RAM (1MB video RAM recommended).
Media
Web Based Training
Serebra Learning Corporation 119 - 7565 132nd Street Surrey BC V3W 1K5 Canada