funktionen, header files
-
hi,
ich bin ein ziemlicher anfänger und hätte nachdem ich mir ein paar tutorials durchgelesen habe ein paar fragen.
also erstmal zu funktionen, in vielen tutorials habe ich so etwas gesehen:
int add(int a, int b) { return a + b; }das verstehe ich und finde ich sehr einfach und simpel. jedoch möchte ich eine funktion erstellen, die sowohl text als auch zahlen übergibt, und dann intern in der funktion verwendet und wieder ausgegeben werden kann.
so in etwa:
int func(char text, int a, int b) { if (text) return text; else return 0; } int main() { char bla; bla = func("hi das ist ein langer text",0,1); cout<<bla; return 0; }das sollte nun "hi das ist ein langer text" ausgeben, klappt aber nicht.
meine zweite frage ist, kann eine funktion immer von dem typ int sein? oder sollte/muss man bei bestimmten funktionen etwas anderes verwenden wie z.b char?
und zu guter letzt, warum sollte man header files benutzen und wozu sind sie überhaupt gut?
das wars, ich hoffe ihr könnt mir behilflich sein. (ich habe die suchfunktion genutzt, doch nachdem ich 50 themen durchgeackert habe wo meine fragen nicht beantwortet worden sind, habe ich mir gedacht einfach zu fragen...)
-
flo- schrieb:
jedoch möchte ich eine funktion erstellen, die sowohl text als auch zahlen übergibt […]
so in etwa:int func(char text, int a, int b)Und hier ist Dein Fehler: Du übergibst keinen Text, sondern ein einzelnes Zeichen. (nämlich 'char'). Wenn Du Text übergeben willst, verwende am besten den Datentyp 'std::string' aus dem Standardheader <string>.
flo- schrieb:
meine zweite frage ist, kann eine funktion immer von dem typ int sein?
Der Typ einer Funktion setzt sich zusammen aus all ihren Parametertypen und ihrem Rückgabetyp (und noch mehr). Der Typ Deiner Funktion ist also nicht 'int' sondern 'int (char, int, int)'. Das meinst Du wahrscheinlich aber nicht. Ich denke mal, Du meinst eher den Rückgabetyp und der kann natürlich vollkommen beliebig sein (sonst müsste man ihn ja nicht angeben).
Es gibt auch den Spezialfall, dass man *nichts* zurückgeben will, in diesem Fall hat man als Rückgabetyp 'void'.