C++ Level 1
EUR 2.100 (FI)
C++ has more and more become the programming language used in embedded systems contexts. Since the object-oriented analysis and design, OOAD, is more broadly used in embedded systems development, C++ is well suited as the implementation language.
C++ backward compatibility with the C programming language facilitates mixing these two languages – a typical scenario where an existing C-based embedded system is extended with new features implemented in C++. Like C, C++ is standardized since many years, the recent major revision of the standard, a.k.a. C++11, was settled in 2011.
This three day C++ training course introduces the participant to C++ programming language. Beside a short introduction to the concepts of object-orientated analysis and design you will be taught about the fundamentals in C++ like:
- Introduce C++ as a programming language for realizing object-oriented systems
- Understand the differences between the standard C and the “C-part” of C++
- Design and implement robust C++ classes
- Grasp the standard library-provided input/output abstractions
- Introduce some of the new language features in C++11
The major objective of this class is that you will be able to write simple object oriented programs in C++ and use the language constructions to create efficient programming code.
This training is aimed programmers who want to have a sound introduction to C++.
The course requires some previous experience in any function- or procedure-oriented language.
During the training you will practice the objectives in terms of a number of exercises. We will use the open and free integrated development environment from Eclipse.
Introduction to Object-Orientation
- The Goals with Object-oriented Programming
- OO Programming Concepts
- C++ Language Mapping
Transitioning from C to C++
- The original prerequisites for the definition of C++
- Function Overloading
- Default Function Arguments
- Initialization versus Assignment
- Place Variable Definitions where needed
- Stricter type control
- const Strictness
- C++ type conversion operators
Introduction to C++
- Basic Input/Output
- Dynamic Memory Allocation
- Some Standard Library Appetizers:
- std::string and std::vector
The Class, Part I
- In C
- First Look at Encapsulation
- The Class
- Principle of Data Hiding
- Modularity and Implementation Hiding Constructors/Destructors
- Initialization vs. Assignment
- Operator Overloading
The Standard Library, Part I
- iostream Library
- What’s a stream?
- Stream Types
- File Handling
- String Streams
Some New C++11 Language Features
- Automatic Type Deduction – auto
- Range-based Loops
- Uniform Initialization with Initializer Lists