C++ Grundkurs

Typparameter

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Typparameter stellen in C++ den standardmäßigen Template-Parameter dar.
02:46

Transkript

In dieser Lektion möchte ich Ihnen Typen als Template-Parameter vorstellen. Typen sind der Standardfall für Template-Argumente. Ich vermute in 90% aller Fälle werden Typen verwendet. In der Regel sind es Klassentypen und fundamentale Typen. Hier zeige ich Ihnen ein paar Beispiele. Ich habe die Klasse Account. Das ist ein benutzerdefinierter Typ. Hier habe ich ein ganz einfaches Klassen-Template, ein minimalistisches Klassen-Template, das nur einen Typ T annimmt und der Funktionskörper des Klassen-Templates ist leer. Jetzt instanziiere ich ClassTemplate für int, ClassTemplate für double, ClassTemplate für Account. int und double sind jeweils fundamentale oder built-in Datentypen. Account ist ein benutzerdefinierte Datentyp. Den habe ich selber definiert. Dann instanziiere ich es noch für std::string. std::string ist ein besonderer Typ. Um ehrlich zu sein, das ist kein Typ. std::string ist ein Klassen-Template. Das fällt nur hier nicht auf. Also in diesem Fall verwende ich keinen Typ, sondern ein Template als Template-Parameter. Das zeige ich Ihnen jetzt alles in der Anwendung. Meine Klasse Account minimal. Enthält nur den Kontobetrag. Ein besonderer Klassentyp hier in der union WithString und dann habe ich hier noch mein Klassen-Template. Das Klassen-Template macht fast nichts. Es hat nur einen Konstruktor und dem Konstruktor gebe ich typeid(T).name() aus. Das ist eine Funktion, die kommt aus dem typeinfo-Header. Die erlaubt mir zum Typ in diesem Fall, einen menschenlesbaren Namen auszugeben. Ich bekomme also in einer zwar nicht normierten Art und Weise heraus, welchen Typ ich tatsächlich habe. Das will ich Ihnen jetzt zeigen. Jetzt instanziiere ich ClassTemplate für verschiedene Typen. Erst mal für int und double, die built-in-Typen. Dann für das Klassen-Template std::string. Dann für den Benutzertyp Account und zum Schluss für den besonderen Klassentyp union, der in diesem Fall heißt WithString. Jetzt lasse ich das Programm laufen. Sie sehen, ich bekomme für int i raus, für double d, für std::string Ss, für Account 7Account, für 10 WithString. Diese Strings hier alle, die ich als Ausgabe, da ich diese Funktion hier anwende, diese Strings sind nicht definiert. Das ist die Ausgabe, wie ich sie bekomme unterm relativen neuen gcc, gcc 4.8. Wenn Sie aber einen Microsoft Visual Compiler haben, werden die Strings vermutlich ganz anders ausschauen. Vielleicht lesbarer, ich weiß es nicht. In dieser Lektion habe ich Ihnen Typen als Template-Parameter vorgestellt. Typen können in diesem konkreten Fall built-in-Datentypen sein, aber auch benutzerdefinierte Datentypen.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!