Forum: PC-Programmierung C++ Frage zu Token


von wulga (Gast)


Lesenswert?

Hallo zusammen ich arbeite momentan mit dem Einführungsbuch C++ von 
Stroustrup und habe ein Verständnisproblem, hoffentlich könnt ihr mir 
weiterhelfen.

Es geht um das berüchtigte Taschenrechnerprogramm, hier ein 
Codefragment:
1
class Token{
2
public:
3
   char kind;
4
   double value;
5
   Token(char ch):kind(ch), val(0){}
6
   Token(char ch, double val):kind(ch), value(val){}
7
};
8
9
Token get_token(); //liest ein Token aus cin
10
11
vector<Token> tok; hier legen wir die Token ab
12
13
int main()
14
{
15
   while(cin){
16
      Token t = get_token();
17
      tok.push_back(t);
18
   }
19
   //...
20
}

Die Klassendefinition ist soweit klar, auch die Konstruktoren. Aber die 
Zeile:
1
Token get_token()
verstehe ich nicht. Ist get_token() eine Funktion? Wenn ja warum wird 
dann hier der Rückgabetyp angegeben? Ein Rückgabetyp muss man doch nur 
bei Funktionsprototypen angeben.

von Lala (Gast)


Lesenswert?

get_token() ist doch ein Funktionsprototyp. Implementiert ist sie an 
anderer Stelle.

von wulga (Gast)


Lesenswert?

Stimmt danke! Habe auch gerade im Buch im Kapitel "Funktionen" 
nachgeschlagen, dort steht, dass Funktionsdeklaration und 
Funktionsdefinition nicht zwingend beieinander stehen müssen. Das würde 
dann erklären warum hier nur die Deklaration steht und nicht mehr. Habe 
es jetzt kapiert.

von Rainer V. (rudi994)


Lesenswert?

Lala schrieb:
> Funktionsprototyp

Früher hieß das einfach nur "forward declaration".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.