Comprehensive C++
Standard Level - 5 days
view dates and locations
In EnglishComprehensive C++ ist ein 5-tägiges Training, das Ingenieuren die Programmiersprache C++ im Kontext des Electronic System Designs, seiner Validierung und Implementierung vermittelt, wobei C++ sowohl für die Modellierung auf Systemebene als auch für die Implementierung von Embedded Software genutzt wird. Comprehensive C++ ist ein direkter Ersatz für einen allgemein gehaltenen C++ Programmierkurs, mit dem zusätzlichen Vorteil, dass der Lehrplan sowie die verwendeten Beispiele und übungen auf die Anforderungen für Embedded System und System-on-Chip Designs abgestimmt sind.
Comprehensive C++ stellt ein exzellentes Rahmenwissen zur Verfügung, das als Basis für alle Doulos SystemC Kurse dient. Der Kurz vermittelt außerdem die Grundlagen für die Verwendung von C++ im Zusammenhang mit Electronic System Level Modelling, Hardware-Software-Integration oder Embedded System Implementation.
Die Workshops basieren auf sorgfältig durchdachten übungen mit dem Ziel, das erlernte Wissen anzuwenden und zu festigen. Dieser Praxisteil nimmt etwa 50% der Unterrichtszeit ein.
Zielgruppe
Comprehensive C++ zielt auf Ingenieure in den Bereichen Electronic Hardware, Software und System-on-Chip ab, die praktische Erfahrungen im Umgang mit der Sprache C++ benötigen. Der Kurs ist auch als allgemeine Einführung zum Programmieren mit C++ geeignet, besonders für Kursteilnehmer, die in der Elektronikbranche arbeiten oder deren Hintergrund in der digitalen Elektronik liegt.Kursinhalte
- Syntax und Semantik der Sprache C++
- Die Prinzipien der objektorientierten Modellierung und Programmierung
- Notwendige Fähigkeiten zur Anwendung von C++ im Umfeld des Electronic System Level Modellings
- überblick über die Prinzipien der Embedded Software Programmierung, Echtzeitbetriebssystemen und Entwicklungstools und wie diese Prinzipien unter Anwendung von C++ umgesetzt werden
Voraussetzungen
Die Kursteilnehmer sollten über Grundkenntnisse in der Programmiersprache C verfügen, insbesondere sollten sie vertraut sein mit Funktionen, Variablen, Datentypen, Operatoren und Anweisungen. Alternativ dazu ist ein gutes Verständniss einer anderen Programmiersprache von Vorteil. Vorkenntnisse in C++ sind nicht erforderlich. Dieser Kurs eignet sich nicht als Einstiegskurs in Computer Programmierung.Wenden Sie sich bitte direkt an Doulos, um Ihre Erfahrungen und Kenntnisse in Hinblick auf diese Voraussetzungen zu erörtern und zu bewerten.
Kursunterlagen
Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und die sehr benutzerfreundliche Präsentation allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im HDL-Schulungsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. In den Kursgebühren sind enthalten:- Kursskripte mit vollständigem Stichwortverzeichnis, die ein umfassendes Referenzhandbuch darstellen
- Ein Arbeitsbuch mit vielen praktischen Beispielen und Lösungen als Unterstützung bei der Wissensanwendung
Structure and Content
Day 1- Learn about the differences between C and C++
Summary of C
A refresher on basic C syntax • Functions • Control flow • Fundamental types • Literals • Derived types • Operators • Standard librariesFrom C to C-1999 and C++
The features added to C by C++ and the ANSI C-1999 standard • const • inline • Stream I/O • Function prototypes • Pass-by-reference • Default arguments • Function and operator overloadingLinkage and Storage
Learn some tricky features often overlooked in C, but necessary for C++ • Scope • Linkage • Linking C and C++ • Namespaces • Static, automatic and dynamic storage • Memory management • new • delete • Arrays • Pointers • StringsC++ Development Environments for Desktop and Embedded Systems
Compilers • Linkers • Loaders • Debuggers • Integrated development environments • Cross-compilers • In-circuit emulationDay 2 - An introduction to object-oriented programming
Classes and Objects
Introduction to modelling and abstraction • Information hiding • Abstract data types • Classes and objects • Public and private class members • Member functions • Scope resolutionConstructors
How to ensure that objects are properly initialised, and how to tidy up afterwards • Constructors • Destructors • Copy constructors • Pointers and objectsMembers and Friends
More features of C++ classes • Friends • Operator overloading • Overloading assignment • this • Static members • Constant objects and membersDay 3 - Master the subtleties of object-oriented programming in C++
Object-Oriented Modelling and The UML
Learn the principles of object-oriented design • Class relationships • The Unified Modelling Language • Class and object diagrams • Association • Composition • Dependency • Implementing class relationships in C++ • Initialization of class membersInheritance
Derived classes • Inheritance • Protected members • Casting pointers • Order of initializationVirtual Functions
Inheriting common behaviour • Overriding methods • Virtual functions • Polymorphism • Late binding • Virtual destructors • Abstract base classes and pure virtual functionsMultiple Inheritance
Single Inheritance • Multiple inheritance • Virtual multiple inheritance • Interfaces • Composition againDay 4 - Learn to make use of some standard libraries and to develop your own class templates
Strings and Streams
The string class • I/O streams • I/O of user-defined types • Manipulators • Buffering • Formatted and unformatted streamsFurther C++ Features
Run-Time Type Identification • Type casts • User-defined conversions • Nested classes • Pointer-to-memberTemplates
Function templates • Class templates • Template arguments • Template specialization • Building simple data structures using templated and untemplated classesDay 5 - Embedded Programming and Standard Libraries
Exceptions
Error handling • Throwing and catching exceptions • Handlers • Standard exception classes• Preventing memory leakage during exceptionsPrinciples of Embedded Programming
Concurrency • Threads • Synchronisation • Memory maps • Communicating with peripherals • Meeting external timing constraints • Process scheduling and pre-emption • Using C++ thread classes • Real-time operating systemsStandard Libraries
Summary of the standard C and C++ libraries • Using container classes, algorithms and iterators from the standard librariesNo public course dates are currently scheduled
Please contact Doulos to schedule a public course to suit you, or to discuss onsite training.
Price on request
Back to top


