konstruktor in header datei



  • Hallo,
    ich hab in einer Header-Datei ein Klasse definiert, die dann so aussieht:

    class Application
    {
        ...
        Player myPlayer(1000,600);
        ...
    }
    

    Ich will also eine Memberobjekt der Klasse Player haben. Ausserdem soll für dieses Objekt der Konstruktor ausgeführt werden, der die Zahlen 1000 und 600 entgegennimmt. Der Compiler sieht das ganze aber wohl als Definition einer Methode der Klasse an und verlangt einen gültigen Typ.
    Die Definition muss aber hier stehen, weil das Objekt ein member von der Klasse Application sein soll. Irgendwie hab ich da grad ein Brett vorm Kopf... Kann mir jemand bitte weiterhelfen?


  • Mod

    Schlag mal folgendes Stichwort nach: Initialisierungsliste



  • Danke.
    Hier mal die Lösung:

    class Application
    {
        ...
        Player myPlayer;
        ...
    }
    

    und nachher bei der Implementierung der Konstruktors:

    Application::Application():myPlayer(1000,600)
    {
       ...
    }
    

    Also ich hab mich ja schon mit einigen c++ büchern und Tutorials beschäftigt, hab aber noch nie was von einer Initialisierungsliste gehört. Aber naja, ist schon ein relativ spezielles Thema.


  • Mod

    Nicoteen schrieb:

    Also ich hab mich ja schon mit einigen c++ büchern und Tutorials beschäftigt, hab aber noch nie was von einer Initialisierungsliste gehört. Aber naja, ist schon ein relativ spezielles Thema.

    Das ist ein ganz wichtiges Thema und kommt sehr oft vor. Wenn das in deinen Büchern nicht erwähnt wird, taugen sie nichts.


Log in to reply