Was ist der Unterschied zwischen einer Void und double Funktion in C++?

3 Antworten

Void, double, int, float geben den "Return-Type" der Funktion an, bei void wird nichts zurückgegeben, bei double, int, float wird der entsprechenden Zahlentyp zurückgegeben.

Hier ein Beispiel:

C++ Function Declaration

The syntax to declare a function is:

returnType functionName (parameter1, parameter2,...) {
    // function body   
}
// program to add two numbers using a function

#include <iostream>

using namespace std;

// declaring a function  -- return Zahlen vom Typ int!! 
int add(int a, int b)
 {
    return (a + b);
 }

int main() 
{

    int sum;
    
    // calling the function and storing
    // the returned value in sum
    sum = add(100, 78);

    cout << "100 + 78 = " << sum << endl;

    return 0;
}

Output

100 + 78 = 178
Woher ich das weiß:Berufserfahrung
Xxxx665 
Fragesteller
 24.11.2020, 13:06

Wenn man in einer Double Funktion

z.B

cout << a << endl;

schreibt dann funktioniert aber trotzdem statt

return a;

ist das egal?

0

Was ist denn das für n Prof??

Void bedeutet kein Rückgabetyp (Ausnahme ist nur Zeiger auf void).

Double ist bei Funktionen Rückgabetyp Double, Funktion gibt also eine Zahl innerhalb Double zurück

Boolean ist bei Funktionen Rückgabetyp Boolean, also dichotom wahr oder falsch.

Noch keine Datentypen durchgemacht, aber Funktionen? Was ist das für ne Uni???

Beispiele (sei myx eine Objektvariable oder globale Variable).

void set(double x){myx = x;}
double get(){return myx;}
boolean isEqual(double a, double b){return (a==b);}
Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich
Xxxx665 
Fragesteller
 23.11.2020, 19:05

Naja. Keine Ahnung vermutlich habe ich es falsch verstanden und RWTH.

0

Der begriff an dieser stelle gibt an Was diese Funktion zurück gibt an den Aufrufer.

Void gibt in diesem Falle eben nichts zurück.

Double gibt eine zahl zurück.

Boolean oder Bool gibt Wahr, Falsch zurück.

usw.

Beispiele:

void Foo() -> Dieser aufruf würde einfach was machen. Der aufrufer bekommt nichts zurück.

Double Foo() -> Ein aufruf dieser funktion wird dem Aufrufer ein Double zurück geben mit dem dieser weiterarbeiten kann.

Was deine Funktion zurück geben soll hängt davon ab was denn die funktion macht und wie sie es macht. bzw. Was halt der aufrufer eventuell braucht.

Du kannst dir ne Funktion vorstellen wie eine Kleine fabrik. Die nen Startknopf. Und eventuell ne eingabe und oder ausgabe hat.

Wenn du die Funktion aufrufst dann macht die Fabrik irgendwas. Enweder nur für sich alleine und die effekte werden anders wo sichtbar. Oder sie gibt dir irgend ein produkt ihrer arbeit zurück. Braucht bestimmte daten damit sie arbeiten kann. Je nachdem wie die fabrik gebaut ist.

Derjenige der die Fabrik benutzt. Also den Startknopf drückt. Den interessiert nicht im detail was diese macht. Sondern nur: Was muss ich reingeben und was bekomme ich am ende raus.

Was mich auch verwirrt war das wir eine Wertetabelle mit der Void funktion erstellt haben statt mit Double.

Warum soltle eine funktion die eine wertetabelle erstellt (warscheinlich auf ein instanzvariable) ein Double zurück geben? Was würde das double denn aussagen?

Was würde es bedeuten wenn ich die Funktion aufrufe und dann z.b. 5.321 zurück erhalte?