What you'll learn?

·     Explain how object-oriented software engineering enhances the software development process.

·     Identify the major elements in an object-oriented programming language.

·     Implement the concepts of data abstraction and encapsulation in the creation of abstract data types.

·     Implement operator overloading.

·     Use inheritance in C++.

·     Select the proper class protection mechanism.

·     Demonstrate the use of virtual functions to implement polymorphism.

·     Write programs utilizing the I/O classes in C++.

·     Understand some advanced features of C++ including templates, exceptions, and multiple inheritances.

·     Compare the object vs. the procedural approach to writing software.

·     Use correct object oriented terminology.

·     Define and use classes in a C++ program.

·     Create and use abstract data types.

·     Derive classes using inheritance in C++.

·     Implement polymorphism by using virtual functions in a program.

Description

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.

Audience :

Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel will benefit from this course.

Topics :

Perspective

o  The Software Crisis

o  Building Software Has Been Difficult

o  Design Techniques

o  Large Software Systems

o  Roots Of Object Technology

o  What Is Object-Oriented Programming?

o  C++ and Object-Oriented Programming

o  Why C++?

o  Features of C++

o  Pros and Cons of C++?

The Language of Object-Orientation

o  What Is an Object?

o  What Is A Class?

o  Encapsulation

o  Data Hiding

o  The Public Interface

o  Relationships Among Classes

o  Inheritance

o  Polymorphism

o  Object-Oriented Design

o  Exercises

C vs. C++

o  Comments

o  Namespaces

o  Performing Simple Output

o  Performing Simple Input

o  Definitions Near To First Use

o  Function Prototypes

o  Structure Members

o  The Reference Type

o  Overloading Function Names

o  Default Parameters

o  The Scope Resolution Operator

o  Aggregates

o  Operators new and delete

o  The bool Data Type

o  The string Data Type

o  Exercises

Fundamentals of Classes

o  Data Types

o  User Created Data Types

o  Using The Class Concept

o  Defining a class

o  public and private Access Levels

o  The Scope Resolution Operator ::

o  public and private Access Levels (again)

o  Using class Objects Like Built-in Types

o  Scope

o  Constructors

o  Member Initialization Lists

o  Destructors

o  Array of Objects

o  Pointers

o  The this Pointer

o  Passing Objects To Functions

o  Returning Objects From Functions

o  static Class Members

o  Exercises

Operator Overloading

o  Introduction

o  Rules for Operator Overloading

o  Rationale for Operator Overloading

o  Overloading Member Functions

o  Overloading Non-Member Functions

o  friend Functions

o  The copy Constructor

o  The Assignment Operator

o  Overloading [ ]

o  Overloading Increment and Decrement Operators

o  const Objects and References

o  Exercises

Inheritance

o  Introduction

o  Inheritance - public base classes

o  The protected Access Level

o  Member Initialization Lists

o  What Isn’t Inherited?

o  Assignments Between Base And Derived Objects

o  Compile-Time vs. Run-Time Binding

o  virtual Functions

o  Polymorphism

o  virtual Destructors

o  Pure virtual Functions

o  Abstract Base Classes

o  An Extended Inheritance Example

o  Exercises

I/O in C++

o  The iostream Library

o  Predefined Streams

o  operator<<

o  Overloading << for User-Defined Classes

o  Overloading >> for User-Defined Classes

o  Manipulators

o  Stream States

o  Formatted I/O

o  Disk Files

o  Internal Transmission of Data

o  Reading & Writing Objects

o  Exercises

Introduction to the C++ Standard Template Library

o  Introduction

o  The Standard Template Library

o  Design Goals

o  STL Components

o  Iterators

o  Example: vector

o  Example: list

o  Example: set

o  Example: map

o  Example: find

o  Example: merge

o  Example: accumulate

o  Function Objects

o  Adaptors

o  Exercises

Prerequisities :

Recommended Knowledge :

Trainees should have completed the Introduction to C course or have equivalent knowledge. Also trainees should have a good knowledge about fundamentals of C++ Programming

Recommended Course(s) :

Category :

  • Programming

Training Materials :

YAT Official Courseware

Labs :

This course includes several labs to ensure you will gain the targeted skills and experience.

Related Courses