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
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.comModules
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.comC++ is undoubtedly one of the most popular programming languages for software development”Download Full Syllabus