Duration
5 days
Overview
C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures.
Course Outline
Perspective
The Software Crisis
Design Techniques
Large Software Systems
Roots of Object Technology
What Is Object-Oriented Programming?
C++ and Object-Oriented Programming
Building a basic C++ application
The required main() function
The main() function file
Application files
Basic Elements of C++
Control Structures I (Selection)
Control Structures II (Repetition)
User-Defined Functions I
User-Defined Functions II
Namespaces, the class string, and User-Defined Simple Data Types.
Arrays
The Language of Object-Orientation
What Is an Object?
What Is a Class?
Encapsulation
Data Hiding
The Public Interface
Relationships Among Classes
Inheritance
Polymorphism
Object-Oriented Design
C vs. C++
Comments
Namespaces
Simple Output
Simple Input
Definitions Near to First Use
Function Prototypes
The inline Specifier
const
Structure Members
The Reference Type
Overloading Function Names
Default Parameters
The Scope Resolution Operator
Aggregates
Operators new and delete
The bool Data Type
The string Data Type
Fundamentals of Classes
Data Types
User Defined Data Types
Using the Class Concept
Defining a Class
public and private Access Levels
The Scope Resolution Operator ::
Using Class Objects Like Built-in Types
Scope
Constructors
Member Initialization Lists
Destructors
Array of Objects
Pointers
The this Pointer
Passing Objects to Functions
Returning Objects From Functions
static Class Members
Operator Overloading
Introduction
Rules for Operator Overloading
Rationale for Operator Overloading
Overloading Member Functions
Overloading Non-Member Functions
friend Functions
The Copy Constructor
The Assignment Operator
Overloading [ ]
Overloading Increment and Decrement Operators
const Objects and References
Composition of Classes
Relationships
Composition of Classes
The Point Class
The Line Class
Member Initialization Lists
An Application With Composition
The Copy Constructor under Composition
operator= under Composition
Inheritance
Introduction
Public Base Classes
The protected Access Level
Member Initialization Lists
What Isn’t Inherited
Assignments Between Base and Derived Objects
Compile-Time vs. Run-Time Binding
virtual Functions
Polymorphism
virtual Destructors
Pure virtual Functions
Abstract Base Classes
An Extended Inheritance Example
I/O in C++
The iostream Library
Predefined Streams
Overloading operator<<
Overloading operator>>
Manipulators
Stream States
Formatted I/O
Disk Files
Reading and Writing Objects
Advanced Topics
Template Functions
Template Classes
Multiple Inheritance
User-Defined Conversions
Data Structures
An Iterator Class
Exceptions
Introduction to the Standard Template Library
Introduction
The Standard Template Library
Design Goals
STL Components
Iterators
Example: vector
Example: list
Example: set
Example: map
Example: find
Example: merge
Example: accumulate
Function Objects
Adaptors
Programme scope, delivery arrangements and suitability are confirmed during enquiry.