![]() |
![]() |
C++ - Informationen zu Funktionen |
G.Eichelsdörfer - Staatliche Technikerschule Weilburg |
Sie haben bereits existierende Funktionen genutzt, indem Sie solche haben aufrufen lassen. Der Prototyp einer Funktion beschreibt präzise, wie die Funktion geeignet (syntaxgerecht) aufgerufen wird.
Zur Erinnerung: | ||
---|---|---|
Eine Funktion verarbeitet in den allermeisten Fällen Werte. Diese importiert sie als Parameter. Häufig liefert sie ein Funktionsresultat, welches weiter verarbeitet werden kann.
Die Abbildung rechts zeigt die Wirkungsweise des Aufrufs |
![]() |
Beispiele:
Die Funktion sin()
berechnet zu einem Winkel im Bogenmaß den Sinuswert.
Prototyp: double sin(double Winkel);
Am Prototyp ist erkennbar, dass diese Funktion einen double-Wert als Parameter importiert
und einen double-Wert als Funktionsresultat liefert. Der Name des Parameters ist hier zwar
unwesentlich, kann aber kennzeichnen, worum es sich bei dem Parameter handelt.
writePort()
dient als Methode einer Klasse dazu,
an einem 8 Bit Port eines externen USB-Controllers ein Bitmuster auszugeben.bool writePort(int i, unsigned char value);
Die Beispiele sollen Folgendes verdeutlichen:
Wir können eine existierende Funktion nur dann einsetzen, wenn wir wissen,
was die Funktion tut.
Dazu dient eine Beschreibung - in den Beispielen steht sie jeweils vor dem Prototyp.
Um eine existierende Funktion einzusetzen, müssen wir nicht wissen,
wie die Funktion arbeitet.
Wir müssen uns auf die Funktion verlassen können.
Damit wir eine solche Funktion aufrufen können, benötigen wir Informationen darüber,
was sie als Parameter importiert und was sie liefert.
Diese Information gibt uns der Prototyp der Funktion.
Wiederholte Hinweise:
Ein Funktionsresultat kann verwendet werden, muss aber nicht.
Man darf ein solches Resultat auch ignorieren, also verfallen lassen.
Wenn eine Funktion kein Resultat liefert, dann muss im Prototypen vor dem Funktionsnamen
das Wort void
stehen.
Zur Funktion writeport()
(s.o.)
Am Port 2 eines angeschlossenen externen USB-Controllers soll der Wert 10 ausgegeben
werden. Notieren Sie den geeigneten Aufruf der oben beschriebenen Funktion
writePort()
! Ignorieren Sie das Funktionsresultat!
Notieren Sie eine bedingte Anweisung, in deren Bedingung (boolescher Ausdruck)
writePort()
wie in der vorhergehenden Übung aufgerufen wird.
Liefert die Funktion ein false
, soll eine Fehlermeldung
ausgegeben werden.