c0rny Geschrieben 24. Januar 2009 Geschrieben 24. Januar 2009 Moin moin liebe Community. Hab hier ne Aufgabe die ich bis Montag erledigt haben soll. Find aber nicht überall die Antworten. Hier mal die Aufgabe: Gegeben sei folgende Template-Klasse template <class T=int> class pointer { T* ptr; //Zeigervariable public: pointer(){}; ~pointer() {}; }; Geben Sie in den folgenden Kommentarzeilen an, ob die dazugehörigen Programmzeilen syntaktisch korrekt sind oder nicht. Falls nicht begründen Sie dies. pointer<float> p1; //ich nehm mal an das ist richtig! pointer<> p2; // pointer<char, int> p3; // falsch, da zu viele argumente pointer<Artikel> p4; // pointer<*Artikel> p5; // pointer<Artikel*> p6; // Wäre cool wenn ihr mir das erklären könntet Schönen Samstag noch!
VaNaTiC Geschrieben 29. Januar 2009 Geschrieben 29. Januar 2009 Also soweit ich weiss sind p3 und p5 falsch. p3 ist so wie Du sagst und p5 ist kein Klassentyp, sondern ein Zeigertyp ohne genaure Größe
FinalFantasy Geschrieben 29. Januar 2009 Geschrieben 29. Januar 2009 p1 geht. p2 geht auch, da im Template ein Default-Typ (int) hinterlegt ist. p3 geht definitiv nicht, wie du sagst. p4 geht, wenn ein Typ Artikel definiert ist. p5 geht nicht, da das hier eine Dereferenzierung auf eine Variable wäre, aber ein Typ benötigt wird p6 geht auch, im Template wäre es halt dann ein Pointer auf einen Pointer. Sollte ich irgendwo falsch liegen, lasse ich mich gern korrigieren. BTW: man könnte es ja einfach mal ausprobieren :cool:
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden