++ for C Programmers BT120

40 Academic Hours C++ for C Programmers

Outline

C++ is undoubtedly one of the most popular programming languages for software development. It brings language enhancements and object-oriented programming support to C. However, C++ is a large and sometimes difficult language, and even with a C background, a programmer needs to understand C++ programming style as well as C++ constructs to get the best out of itl. For experienced C programmers, the course will illustrate how to get the benefits of good software engineering and code reuse by using standard C++ and object-oriented programming techniques in real-world programming situations. This is a hand on course with a mix of tuition and practical sessions for each technical chapter which reinforce the C++ syntax and object-oriented programming techniques covered in the course.

Target Audience C Programmers wishing to learn or improve in C++

Prerequisites Delegates should have a working knowledge of C, and some knowledge of ו Embedded/Real Time programming.

Delegates must have solid experience of C including structures (i.e. struct and/or ו class); declaration and use of pointers; function declaration, definition and use with call by value or call by pointer; dynamic memory allocation (i.e. malloc and free, or new and delete); multiple source file projects (requiring project files or makes files)

Objectives On completion, Delegates will be able to:

.The core C++ syntax and semantics ו

Object Oriented Advantages, and Principles ו

How to write safe, efficient C++ code ו

++Memory and performance issues associated with C ו

++How to access memory & program interrupts in C ו Content

Module 01 Module 04 A Course Introduction The Class Approach Course Prerequisites ו Grouping of data and functionality ו Course Objectives ו Syntax of a class declaration ו Course Delivery ו Syntax of use ו Course Practical ו Public and private ו Course Structure ו Abstract Data Types ו Program structure ו

Module 02 Module 05 An Overview of OO Programming & C++ Providing Class Functionality Member functions ו Review of OOP principles ו ו ,Behavior, state, identity, inheritance ו polymorphism, abstraction Default arguments ו ++History and evolution of C ו Ambiguities ו ++Key features of C ו Anonymous arguments ו C++ as a better and safer C, C++ vs. C, C++ in ו Resolving scope conflicts ו Real Time systems The Scope resolution operator ו The this pointer ו

Module 03 UML Brief overview General overview on UML ו Class Diagram ו Sequence Diagram ו Module 06 Module 09 Object birth and death Associative Classes

Delegating class functionality ו Life of an object ו Dynamic associations ו Constructors ו Custody and lifetime ו operator new ו Constant associations ו Death of an object ו Destructors ו operator delete Module 10 ו Dynamic arrays ו Operator functions ו Unary operators ו Module 07 Efficiency, Integrity & Performance Issues Binary operators ו Enumerations ו Global operators ו Const declarations ו Member operators ו Const member functions ו Subscript operators ו Const member data ו Input operators ו Inline function mechanism ו Output operators ו Reference variables ו Guidelines ו Composite Classes ו Embedded / Real Time considerations ו An opportunity for reuse ו Embedded / Real Time considerations ו

Module 08 Composite Classes

An opportunity for reuse ו Scoping and initialization ו Order of construction C++ is undoubtedly one ו Member Initialization lists of the most popular ו Use of fundamental classes ו programming languages for software development” Module 11 Module 14 Class Properties Inheritance

Extension of existing classes ו Static data members ו Notation, syntax, terminology ו Static member functions ו Nested types ו Protected members ו Forward declarations ו Scoping and initialization ו Friend classes ו Multiple inheritance ו Abstract base classes ו Guidelines ו

Module 12 Module 15 Templates and Container Classes Polymorphism Modified class behavior ו Organizing collections of objects ו Virtual functions ו classes ו virtual destructors ו vector ו Late binding ו Inside the virtual function mechanism ו list ו Pure virtual functions ו Iterators ו Use of pointers to base type ו Template functions ו Guidelines ו Algorithms ו Real Time considerations ו Using the Standard Library ו Embedded / Real Time considerations ו

Module 13 Copying and Conversions The copy assignment operator ו Copy constructors ו Conversions to a class object ו Conversions from a class object ו Embedded / Real Time considerations ו Module 16 Module 17 Embedded and Real Time C++ OOC (Object Oriented in C) Modularity and correct API Definition ו Considerations

Encapsulation and Information hiding ו ,Comparing C and C++ performance ו Performance analysis Inheritance ו C++ code translated to C ו Inheritance in C ו The Embedded C++ Language Standard ו Program Size Comparisons ו Problems with Exceptions, RTTI, mutable ו Problems with Templates, Multiple Inheritance, Operator Overloading ו ++Compiling Embedded C ו Making Objects ROMable ו Encapsulating a ROMable class ו Placing objects at a specific address ו ++Interrupts and interrupt vectors in C ו Combining C and C++ code ו The HackerU Advantage We have unparalleled experience in building advanced training programs for companies and organizations around the world – Talk to one of our experts and find out why.

Handcrafted State-Of-The-Art Israel’s Premier Training Programs Learning Materials Training Center

Fueled by Over 20 Years Industry Leading of Proven IT- Experts Education Success

[email protected] www.hackerupro.com