Was ist der Unterschied zwischen einer Prozedur und einer Funktion? (C++)

3 Antworten

Hallo !

Ich gehe jetzt mal von C++ weg, ich kann dir aber sagen wie das in manch anderen Programmiersprachen ist -->

  • Bei einer Funktion gibt es Übergabewerte die als Input an die Subroutine der Funktion übergeben werden. Eine Funktion hat auch ein Output nämlich den Bezeichner der Funktion.

  • Bei einer Prozedur muss nicht notwendigerweise etwas übergeben werden und es muss auch nicht notwendigerweise ein Output geben, sondern es werden in einer Prozedur-Subroutine lediglich Befehle abgearbeitet die in der Prozedur stehen, allerdings können Variablenwerte übergeben werden und es können auch Variablenwerte aus der Prozedur übernommen werden, wenn man das will.

Ob das bei C++ genauso ist kann ich dir leider nicht sagen, sorry !

LG Spielkamerad


DerEinsiedler  03.11.2014, 19:09

"Eine Funktion hat auch ein Output nämlich den Bezeichner der Funktion."

Das ist Unsinn.

Eine Funktion hat einen Rückgabewert. Das ist aber nicht der Name der Funktion, sondern das Funktionsergebnis.

Eine Funktion muss auch keine Übergabewerte haben!

0
ralphdieter  04.11.2014, 06:41
@DerEinsiedler

Unsinn ist etwas zu hart formuliert.

Was C/C++ mit dem Schlüsselwort return erledigt, wird in Pascal als Zuweisung an den Funktionsnamen geschrieben.

0

Allgemein werden Programme aus „Unterprogrammen“ zusammengesetzt. Ob man diese Unterprogramme ((sub)routines) nun als Funktion, Methode oder Prozedur bezeichnet, ist da zunächst einmal völlig egal – es sind Unterprogramme, die man an den gewünschten Stellen einsetzt und wiederverwendet.

Je nach Programmier-Paradigma verwenden die verschiedenen Programmiersprachen dann die Bezeichnungen Funktion, Methode und Prozedur mehr oder weniger synonym. Auch wenn es hier und da Unterscheidungen geben mag, sind die eher an die spezielle Programmiersprache gebunden, denn wirklich DAS Unterscheidungsmerkmal.

C++ kennt als objekt-orientierte Programmiersprache weder Funktionen noch Prozeduren – in diesen Sprachen redet man üblicherweise von Methoden …

Eine Prozedur liefert keine Werte zurück sondern tut nur etwas (void). Eine Funktion hat einen Rückgabewert.


Holzkopf99 
Beitragsersteller
 03.11.2014, 16:53

Ok :) Danke :D

1