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.
Dependencies: mbed
You are viewing an older revision! See the latest version
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();
}