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! Zitieren
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 Zitieren
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: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.