For more information contact us
Phone:
03-6176066
Fax: 03-6176677
info@sela.co.il
Coming courses
Register/More info
More courses from
C++, OO, UML
Advanced C Programming
Object Orient Introduction
Object Oriented Programming in C++
Post Modern C++
C Programming
Advanced Object-Oriented Software Development using ACE
Test Driven Development for C++ Developers
Object Oriented Analysis / Design using UML
Boost C++
Design Patterns in C++
Clean Code Workshop
Modern C++
C++ Debugging
Effective C++ in RT/Embedded Systems
Post Modern C++ 2
C++\CLI programming in the .NET environment
C2 - Version: 4.1
Object Oriented Programming in C++
7 days course
Description
This course teaches the Object-Oriented and Multi Paradigm approaches through deep learning and practicing of the C++ Language. Many examples are provided to emphasize the possibilities and advantages of using the new paradigms for characterizing, designing, and programming medium to large projects. The course deals with different advanced aspects including Generic Programming (Templates), STL, Inheritance, Polymorphism, Exception Handling and much more. The course presents many complete examples in C++, including various exercises.
Intended audience
This course is intended for project managers, project designers, programmers, and engineers wishing to master the C++ programming language.
Prerequisites
Experience in software development
Working knowledge of the C programming language
Objectives
Design solutions for real life problems
Familiarity with the main mechanisms of the C++ language
Understanding of the Object Based and Object Oriented programming ideas
The participant will learn recommended methods for using the new tools that the C++ language offers to programmers
Topics
Object-Oriented Development Introduction
What are the benefits of OOD? How does it meet the challenges of software programming today?
The theoretical background of OOD.
Basic OOD concepts – Information Hiding; Message vs. Method; etc.
What is an object? What is an OO application structure and how does it act?
Classes - as a factory of Objects.
C++ First Steps
C++ language – Formal details.
Main characteristics.
C compatible.
Strongly typed.
Multi paradigm language.
Classes Definition:
Data members
Methods
Public Vs. Private
Methods definition.
Defining and activating objects.
Using the C++ I/O library.
C++ Goodies
General Features added to the language
Reference
Const
Function Overloading
Default arguments
C++ Casts
Namespace
bool Type
Object based programming
Constructors and Destructors; Composed Classes; Copy Constructor
Operators Overloading - Relational; Assignment; Arithmetic.
Static Members
User defined conversions
Member vs. Non-member operators - I/O operators; Symmetric operators
Friend
efficiency Issues – Possible efficiency problems; Optimization
Exception Handling
Throwing exceptions
Handling exceptions
Resource Management in EH environment
Exceptions Specification
Exception Handling and Efficiency
Exception Handling and General Project Design Consideration
The Standard Exceptions Hierarchy
Generic Programming Templates
Generic Programming motivation – the importance of code reusability
How to create Generic code in C++ - Definition and use of Functions and Classes Templates.
Getting Ready to STL
Containers – some basic concepts; Nested Classes; The concept of Iterators
STL The Standard Templates Library
The benefits of using STL.
General Overview.
Containers.
Iterators.
Algorithms.
The ways to customize STL functionality.
Object Oriented Programming
Inheritance – The Basics
The Inheritance relation definition
Defining Derived Classes
Extending and Overriding Default behaviour - Virtual Methods
The Protected accessibility level
Polymorphism
The Polymorphism Idea
Base – Derived compatibility
Creating Polymorphic Code – Examples
Utilizing Inheritance in Development
Creating an inheritance tree – distributing data members declarations; methods declarations and methods definitions
Pure virtual methods and abstract classes
Construction and Destruction of derived objects – Virtual Destructors
Interface Classes
Dynamic Binding
Static vs. Dynamic Binding; How is dynamic binding implemented? What are the “prices”? – Storage and run-time
Inheritance and Polymorphism – Advanced Topics
Inheritance and static data members; Redefining non-virtual Methods; Object slicing; Private and Protected Inheritance;Overloading between base and derived; etc.
Multiple Inheritance – When is it required? Possible ambiguity problems; The problematic “diamond structure” - Virtual Inheritance
RTTI – Run Time Type Information – When is it required? The type_id operator; The dynamic_cast operator
Related courses
Advanced OOP Using Patterns in C++
|
Effective C++ and STL
|
Effective C++ in Embedded/Real-Time Systems
|
RT Patterns
|
TDD C++
|
AppSec C++
|
COM
|
MFC
|
C2 Course
I would like a representative to contact me regarding this activity
*
*
*
*
*