Was benutzen?



  • Hi,

    was sollte man von den beiden benutzen, und vorallem WIESO?

    class vector
    {
    // paar Attribute und Methoden
    };
    
    int main (void)
    {
        vector vec1;
    
        // oder
    
        class vector vec2;
    }
    


  • Hi!

    Das erstere kannst du ruhig verwenden. In C musste, sofern bei einer Struktur kein typedef verwendet wurde, immer struct foo geschrieben um ein Objekt einer Struktur anzulegen. Außerdem machst du bei letzterem dem Compiler klar das es sich dabei um die Klasse vector handelt und nicht um die Funktion vector (wenn man davon ausgeht das diese existiert nach der Klassendefinition existiert). In C++ bringt es sonst nichts.

    Zu dem was ich meine findest du hier ein Beispiel von HumeSikkins, in dem das sehr gut klar wird (1. Post von ihm in dem Thread):
    http://www.c-plusplus.net/forum/viewtopic.php?t=82637

    Code-Hacker



  • Man sollte die erste Variante der zweiten vorziehen. Die zweite Variante kommt eher aus den C-Zeiten, wo bei jeder Variablen-Deklaration ein struct vor dem Typ stand. In C++ ist es allerdings unüblich. Die Klassen-Deklaration wird höchstens bei forward-declaration oder expliziter Template-Instanziierung benötigt.


Log in to reply