zurück weiter

C++ - Informationen zu Funktionen

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Informationen zu Funktionen - Prototypen

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 y = sin(x);.

Beispiele:

  1. 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.

  2. Die Funktion writePort() dient als Methode einer Klasse dazu, an einem 8 Bit Port eines externen USB-Controllers ein Bitmuster auszugeben.
    Prototyp: bool writePort(int i, unsigned char value);
    writePort() importiert zwei Parameter und liefert einen Wahrheitswert als Funktionsresultat.
    Der erste Parameter ist eine Ganzzahl, der zweite eine 8 Bit lange Ganzzahl.
    Mit dem ersten Parameter wird die Portnummer, mit dem zweiten der auszugebende Wert (Bitmuster) importiert.
    Wenn die Übertragung an den USB-Controller gelingt, liefert writePort() true bzw. 1. Im Fehlerfall liefert die Funktion false bzw. 0.

Die Beispiele sollen Folgendes verdeutlichen:

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.

Kleine Übungen

  1. 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!

  2. 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.