Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Was schreibt man in die () Klammern ?

Waldemar (Anonym) / 6 Antworten / Baumansicht Nickles

Hallo,

soweit verstehe ich alles in der Programmierung.

Da ist nur ein Problem,

sehr häufig muss man was in die normalen Klammern () schreiben, dabei ist es nicht das Problem bei z.B. einer If oder else Klammer, das verstehe ich, ich verstehe nur nicht wann, wieso und warum man was in die normalen () Klammern schreiben muss wenn es z.B. selbst erstellte Objekte sind, z.B. rennen(int y, intx, mann) ?

Vielen Dank im Voraus

bei Antwort benachrichtigen
Rotti Waldemar (Anonym) „Was schreibt man in die () Klammern ?“
Optionen

was hast du denn für eine programmiersprache (basic, pascal, c/c++, logo ;-) )???
mfg, rotti

bei Antwort benachrichtigen
Waldemar (Anonym) Rotti „was hast du denn für eine programmiersprache basic, pascal, c/c , logo -...“
Optionen

Hallo,

c++ und java.

bei Antwort benachrichtigen
Rotti Waldemar (Anonym) „Was schreibt man in die () Klammern ?“
Optionen

von java hab ich keine ahnung, aber in c++ sind es parameter...
mfg, rotti

bei Antwort benachrichtigen
(Anonym) Waldemar (Anonym) „Was schreibt man in die () Klammern ?“
Optionen

Hi Waldemar...
Das in den Klammern hinter dem Objekt sind Argumente die der Konstruktor braucht um das Objekt zu erstellen.
z. B.:
Auto(string name, int gewicht);
CU
Killi :)

bei Antwort benachrichtigen
McMorning Waldemar (Anonym) „Was schreibt man in die () Klammern ?“
Optionen

Hi Waldemar,

Wie du ja schon selbst sagst braucht dies natürlich nicht immer zu geschehen, aber wenn dort etwas steht, dann dient dies als Initialisierungswerte. So kannst du zum Beispiel eine Klasse Rechteck besitzen, die als Eigenschaften die Werte x und y besitzt. Das ganze sieht dann ungefähr so aus:
class Rechteck { int x, y }

Um nun dieses Rechteck zu erstellen muß du zwei Dinge tun:
1. Du mußt eine Instanz des Objektes Rechteck erschaffen, das sieht dann ungefähr folgendermaßen aus:
Rechteck MySquare;

Damit du nun aber noch mit diesem Objekt arbeiten kannst, mußt du den Eigenschaften noch Werte zuweisen, was dann wiederum so aussieht:
MySquare.x = 3;
MySquare.y = 4;

Soviel zur Vorgeschichte und wie man es machen könnte.
Aber nun stell dir vor du willst ein Rechteck 'erschaffen' und es direkt mit Werten füllen. Was machst du dann? Klar!! Du schreibst folgendes:
Rechteck MySquare;
MySquare.x = 8;
MySquare.y = 12;

Also insgesamt ein Dreizeiler. Um nun diese ganze Schreiberei etwas abzukürzen, schreibt man nun seinen eigenen 'Erschaffer' (Konstruktor). Das ist quasi der Funktionsaufruf mit dem man ein Objekt erzeugt, also bis jetzt hieß das Ding ja
Rechteck MySquare;

und man erhielt so ein Objekt MySquare ohne irgendwelche Werte. Möchte man aber direkt noch Werte übergeben, dann sieht das folgndermaßen aus:
class Rechteck {
int x, y;
Rechteck (int x1, int x2)
{ x = x1; y = y1;}
}

Nun hat man eine zusätzliche Funktion innerhalb der Klasse die beim Erschaffen des Objektes aufgerufen wird und dabei die entsprechenden Werte füllt. In unserem Beispiel sähe das dann so aus:
Rechteck MySquare(3,4);
Und schon hat man ein Objekt das direkt mit Variablen gefüllt ist.

In diesem Fall ist das Ganze natürlich ziemlich egal wie rum ich es angehe, aber es erleichtert die Programmierung doch erheblich bei komplexeren Objekten!!

Bis dann,
McMorning

bei Antwort benachrichtigen
(Anonym) Waldemar (Anonym) „Was schreibt man in die () Klammern ?“
Optionen

In C gehören die Klammern () zu einem Funktionsaufruf. In den () werden Parameter an eine Funktion übergeben. Das Ergebnis des Funktionsaufrufes wird dann indem "Rückgabetyp" zurückgeliefert.

Rückgabetyp Funktionsname(typ parameter1, typ parameter2, ...)

Die benötigten Parameter kann man einer Funktionsdeklaration entnehmen. Für selbst-implementierte Funktionen ist die deklaration eindeutig. Für standard Funktionen(Bibliotheken Funktion) die aus ANSI C, POSIX.1 oder XPG3 stammen, kann man den entsprechenden header laden und dort die deklaration entnehmen. Sollte die Parameterliste als (void) deklariert sein können keine Parameter übergeben werden. Ansonsten musst du dich an die Parameter liste halten und die mindest anzahl von par. übergeben.

Die Funktion "void *func(int x, const char *ls_var, ...)" braucht mindestens zwei parameter. Der erste vom typ int, der zweite muss vom typ zeiger auf const char sein. Die weiteren parameter ... sind NICHT obligatorisch.

Ich empfehlen dir desweiteren ein gutes Buch über XXX programmierung zu lesen, da du sonst nicht sehr weit kommen wirst.

bei Antwort benachrichtigen