Upload
zahid-qaisar
View
216
Download
0
Embed Size (px)
Citation preview
8/7/2019 OOPSC++ Programming-eACT-v1.0
1/6
OOPS & C++ 4 Days Training Workshop
The OOPS and C++ Training Workshop provides engineers with a fast way to acquire theknowledge necessary to develop applications with C++ rich features!
Course Format
Our 4-day instructor-led courses consist of lectures and hands-on lab sessions.
Candidates gain hands-on experience and receive personal guidance from expert
Trainer
Candidates examine details of the C++ environment, focusing on the most commonly
used areas.
Prerequisites
C programming knowledge is handy though people can start with Basic understanding of operating systems
Functional knowledge of UNIX or Windows OS
Lab Environment
OS: WINDOWS/LINUX
Compiler: MSVC++ 6.0 or higher / GNU tool chains
TOPICS
The C++ Language Basics
Approaching OOPs and implementation
Classes and Objects
Constructors and Destructors
Friend
Operator overloading
Inheritance
Runtime Polymorphism, Virtual Functions & Dynamic Binding
Exception Handling
Templates
Design of STL
8/7/2019 OOPSC++ Programming-eACT-v1.0
2/6
Contents:
The C++ Language Basics
A quick contrast on features of C++ & C
A simple C++ program
A C++ build Phase
Exploring GNU Tool chains for debugging skills
Cascading of I/O operators
Type compatibility
Scope resolution operator
Pointers and arrays
Const qualifiers with pointers
Storage classes
Memory Allocation
new
delete
Functions in C++
Strict prototyping
Inline functions
Default arguments
Return by reference
Function overloading
Pass by value, address and reference
Approaching OOPs & design of C++
Identifying and Representing Objects
OOPS features
Classes & objectsInstance and methods, message passing
Encapsulation
Polymorphisms
Inheritances
Abstraction
Classes and Objects
8/7/2019 OOPSC++ Programming-eACT-v1.0
3/6
Class declaration & object mechanism
Access specifiers
Separating interface from implementation
Inline member functions
Nested member functions
Memory allocation for objects
Objects & references
Constructors and Destructors
Definition & declaration
Characteristics of constructors
Overloaded constructors
Copy constructor
Destructors
Dynamic constructors
Array of objects
Use of constructors
Constructors and Destructors
Managing the heap
Constructors & Destructors internal behaviour
Passing objects
Objects & references
Copy constructor
Overloading copy constructor
Objects & references
Copy constructor
Overloading copy constructor
Returning objects
Returning object references
Passing & returning pointers to objects
Class members
Static data members
Static member functions
A discussion on static members
Singleton pattern
Static members of a class
8/7/2019 OOPSC++ Programming-eACT-v1.0
4/6
Friend
Object communication
Friend functions
Friend classes
Const objects and const member functions
Object composition & destruction mechanism
Boundary classes & object interfaces
Operator Overloading
The operator function
Operators that cannot be overloaded
Overloading unary operators
Overloading Binary operators
Using member functions & friend functions when to use what
Interpreting the operator function call
Function overloading the operator function
The assignment operator
Implicit overloading mechanism
Explicit overloading mechanism
Returning objects & assignment operator
Overloading >> & , operator comma (,)
Inheritance
The inheritance mechanism
Types of inheritance
Single level, multi level, multiple, hierarchical, hybrid
Inheritance is it allocation or accessibility
The protected access specifier
Inheritance in private, protected & public mode
Constructors & destructors in a derived class
Multiple inheritance
8/7/2019 OOPSC++ Programming-eACT-v1.0
5/6
Virtual Base class
Invoking base class constructors
Why a constructor is not inherited
Is-a & Has-a relationship
Nested classes & Containership
Runtime Polymorphism, Virtual Functions & Dynamic Binding
Pointers & Classes
Pointers to Class Members
Method overriding
Base class pointers & derived class objects
Virtual functions
Virtual functions & base class pointers
Virtual functions & base class reference
Dynamic Binding v/s Early Binding
Pure virtual functions
Virtual destructors
Abstract classes & applications
Runtime Type Identification & Casting Operators
RTTI
Runtime Polymorphism & RTTI
typeid & type_info
Application illustration using
Base class pointer
Passing pointers to functions
Function receiving references
Factory methods & RTTI
Template classes & RTTI
The Casting operators
dynamic_cast
const_cast
static_cast
8/7/2019 OOPSC++ Programming-eACT-v1.0
6/6
reinterpret_cast
Exception Handling
Exception handling fundamentals
try, catch & throw
Using multiple catch
The catch all exception handler
Nested try blocks
Rethrowing an exception & overruling a functions return value
Restricting Exceptions the throw list
Handling derived class exceptions
Setting the terminate and unexpected handlers
Application of Exception handling
Templates
Generic functions & Data abstraction
Function templates
Explicitly specializing a function template
Overloading Function Template
Using standard parameters
A Generic Sort algorithm
Generic Classes (Class template)
Using more than one generic type
Using non-type arguments & default arguments
Explicit Specializations
Applications of templates - a Stack template
Template template parameter
Design of STL
Techniques of Usage
Note: This is a generic content & can be customized for individual needs!