Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
In separaten Dateien
Klassendeklaration in einer Header-Datei de_Bertl.h:
- Es werden wieder die notwendigen Header-Dateien mit den Praeprozessor-Direktiven inkludiert. (Zeile 2 und 3)
- Ist die Konstante DE_BERTL_H nicht definiert, liefert diese Direktivet 1 zurück, DE_BERTL_H wird definiert (Zeile 6) und der Code wird inkludiert bis zum #endif, sonst nicht. Somit würde die Klassendeklaration nur einmal im Projekt eingebunden. Zeile 5 und 13
- Erzeugung neuer Klassen: In Zeile 8 erfolgt die Deklaration der Klasse de_Bertl abgeleitet von der Klasse ur_Bertl mittels ":" und public.
- In Zeile 11 erfolgt die Deklaration des Befehles/Methode (Prototyping) Bewege().
// Datei de_Bertl.h #include "mbed.h" #include "ur_Bertl.h" #ifndef DE_BERTL_H #define DE_BERTL_H class de_Bertl : public ur_Bertl { public: void Bewege(); // nur Deklaration - Prototyping }; #endif
Klassendefinition in einer Source-Datei de_Bertl.cpp:
- Es werden wieder die notwendigen Header-Dateien mit den Praeprozessor-Direktiven inkludiert. (Zeile 2 - 4)
- Erzeugung neuer Befehle: In Zeile 6 erfolgt die Definition der Methoden mittels Scope-Operator (::) für die entsprechende Klasse (hier: de_Bertl :: Bewege()) und in Zeilen 7 - 9 steht der auszuführende Code.
// Datei: de_Bertl.cpp #include "mbed.h" #include "ur_Bertl.h" #include "de_Bertl.h" void de_Bertl :: Bewege() // Definieren { Move(); }
Hauptprogramm in der Source-Datei main.cpp:
- Es werden wieder die notwendigen Header-Dateien mit den Praeprozessor-Direktiven inkludiert. (Zeile 2 - 4)
- Instantiierung der Klasse: in Zeile 11 wird in main() ein Objekt karel der Klasse de_Bertl erzeugt (instatiiert).
- Aufruf der Befehle mittels Objektname (karel) einem Punkt (".") und dem Methodennamen (Bewege) den runden Klammern () und einem ";" zum Trennen weiterer Befehle. Zeile 13-15
// Datei: main.cpp #include "mbed.h" #include "ur_Bertl.h" #include "de_Bertl.h" // in eigene Dateien: Klassen-/Methodendeklaration in de_Bertl.h // Methodendefinition in de_Bertl.cpp int main() { de_Bertl karel; karel.Bewege(); karel.Move(); karel.ShutOff(); }