This course introduces the C++ language for use on Real Time and embedded applications. The course covers object oriented programming and the C++ language, highlighting areas of concern for Real Time and embedded development. The course also covers the application of C++ to Real Time systems including interrupt handling, memory issues, and performance issues. The course will allow students to avoid dangerous performance and correctness problems unknown to most C++ developers, including many experienced programmers.
During labs, students will solve exercises by writing programs that will illustrate the covered principles. Approximately 40% of the course is practical work.
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++
The course is designed for Real Time engineers who are embarking on a project using C++ for the first time. It is also targeted at developers currently reluctant to move to C++ from C as they believe it poses too great an overhead. This course will clearly demonstrate both the strengths and weaknesses of C++ versus C.
A Course Introduction
An Overview of OO Programming and C++
The Class Approach
Providing Class Functionality
Object birth and death
Efficiency, Integrity and Performance Issues
Scoping and initialization
Templates and Container Classes
Copying and Conversions
Embedded and Real Time C++ Considerations
Delegates should have a working knowledge of C, and some knowledge of Embedded/Real Time programming.