Also, ich habe dieses mal zwei Fragen bezüglich Zeiger innerhalb von Klassen. Als Beispiel habe ich folgenden Beispielcode geschrieben:
Der Code an sich funktioniert ja einwandfrei, aber die Definition der beiden Elementfunktionen getAge und setAge haben bei mir, als ich den Code zum ersten mal geschrieben habe, zu denken gegeben. Denn wenn ich diese ausserhalb von class Cat { ... }; definiere, gibt der Compiler folgende Fehlermeldung aus:
Zitat
ISO C++ forbids declaration of `setAge' with no type
...
Wieso geht das nicht? Wieso erlaubt der Compiler die Definition von setAge und getAge ausserhalb der eigentlichen Klassendeklaration nicht? Denn den Konstruktor und den Destruktor definiere ich ja auch ausserhalb von class Cat { ... }; ohne das der Compiler Einwände dagegen hat.
Meine zweite Frage betrifft den Zeiger im Konstuktor (Zeile 14). Warum darf ich vor dem itsAge = new int(5) kein * setzten, während ich es bei der Elementfunktionsdefinition ( - wie ich diese Fachchinesisch liebe - ) von setAge verwenden muss ohne dass ich eine Fehlermeldung vom Compiler erhalte.