c0rny Geschrieben 24. Januar 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VaNaTiC Geschrieben 29. Januar 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FinalFantasy Geschrieben 29. Januar 2009 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.