C++ for C Programmers

BT120


5 Days

Download Full Syllabus Request a Quote
All Our Courses Now Also LIVE

Course 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.

Upcoming
Meetings

There are no upcoming meetings for this course.
Contact us to schedule this course, which will be customized specifically for your organization.
info@hackerupro.com

Modules

A Course Introduction
  • Course Prerequisites
  • Course Objectives
  • Course Delivery
  • Course Practical
  • Course Structure
An Overview of OO Programming & C++
  • Review of OOP principles
  • Behavior, state, identity, inheritance, polymorphism, abstraction
  • History and evolution of C++
  • Key features of C++
  • C++ as a better and safer C, C++ vs. C, C++ in Real Time systems
UML Brief overview
  • General overview on UML
  • Class Diagram
  • Sequence Diagram
The Class Approach
  • Grouping of data and functionality
  • Syntax of a class declaration
  • Syntax of use
  • Public and private
  • Abstract Data Types
  • Program structure
Providing Class Functionality
  • Member functions
  • Function overloading
  • Default arguments
  • Ambiguities
  • Anonymous arguments
  • Resolving scope conflicts
  • The Scope resolution operator
  • The this pointer
Object birth and death
  • Life of an object
  • Constructors
  • operator new
  • Death of an object
  • Destructors
  • operator delete
  • Dynamic arrays
Efficiency, Integrity & Performance Issues
  • Enumerations
  • Const declarations
  • Const member functions
  • Const member data
  • Inline function mechanism
  • Reference variables
  • Composite Classes
  • An opportunity for reuse
  • Embedded / Real Time considerations
Composite Classes
  • An opportunity for reuse
  • Scoping and initialization
  • Order of construction
  • Member Initialization lists
  • Use of fundamental classes
Associative Classes
  • Delegating class functionality
  • Dynamic associations
  • Custody and lifetime
  • Constant associations
Operator Overloading
  • Operator functions
  • Unary operators
  • Binary operators
  • Global operators
  • Member operators
  • Subscript operators
  • Input operators
  • Output operators
  • Guidelines
  • Embedded / Real Time considerations
Class Properties
  • Static data members
  • Static member functions
  • Nested types
  • Forward declarations
  • Friend classes
Templates and Container Classes
  • Organizing collections of objects
  • Template classes
  • vector
  • list
  • Iterators
  • Template functions
  • Algorithms
  • Using the Standard Library
  • Embedded / Real Time considerations
Copying and Conversions
  • The copy assignment operator
  • Copy constructors
  • Conversions to a class object
  • Conversions from a class object
  • Embedded / Real Time considerations
Inheritance
  • Extension of existing classes
  • Notation, syntax, terminology
  • Protected members
  • Scoping and initialization
  • Multiple inheritance
  • Abstract base classes
  • Guidelines
Polymorphism
  • Modified class behavior
  • Virtual functions
  • virtual destructors
  • Late binding
  • Inside the virtual function mechanism
  • Pure virtual functions
  • Use of pointers to base type
  • Guidelines
  • Real Time considerations
Embedded and Real Time C++ Considerations
  • Comparing C and C++ performance, Performance analysis
  • 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
OOC (Object Oriented in C)
  • Modularity and correct API Definition
  • Encapsulation and Information hiding
  • Inheritance

Prerequisites

  • Delegates must have solid experience of C including structures

Upcoming Meetings

There are no upcoming meetings for this course.
Contact us to schedule this course customized for your organization in a group format.
info@hackerupro.com
C++ is undoubtedly one of the most popular programming languages for software development”
Download Full Syllabus

Target Audience

Contact Us

    • Israel
    • Poland
    • USA
    • Russia
    • India
    Skip to content