Video: 4 Teamspeak (TS3) Templates free download 2024
Strukturvorlagen haben viele interessante Anwendungsmöglichkeiten, z. B. das Erstellen eines Datenrepositorys, das nicht von einem bestimmten Typ abhängt. Das Beispiel "StructureTemplate" zeigt eine solche Verwendung.
#include using Namespace std; Template-Struktur Volumen {T Höhe; T Breite; T Länge; Volumen () {Höhe = 0; Breite = 0; Länge = 0;} T getvolume () {Rückkehrhöhe * Breite * Länge;} T getvolume (TH, TW, TL) {height = H; Breite = W; Länge = L; Rückgabehöhe * Breite * Länge;}}; int main () {Volume zuerst; cout << "erstes Volumen:" << zuerst. getvolume () << endl; zuerst. Höhe = 2; zuerst. Breite = 3; zuerst. Länge = 4; cout << "erstes Volumen:" << zuerst. getvolume () << endl; Volumen Sekunde; cout << "zweite Lautstärke:" << Sekunde. getvolume (2. 1, 3. 2, 4. 3) << endl; cout << "Höhe:" << Sekunde. Höhe << endl; cout << "Breite:" << Sekunde. Breite << endl; cout << "Länge:" << Sekunde. Länge << endl; return 0;}
In diesem Fall enthält die Struktur Datenwerte für Höhe, Breite und Länge, mit denen der Code das Volumen bestimmen kann. Die Struktur enthält einen Konstruktor, um die Werte zu initialisieren. Selbst wenn jemand getvolume () aufruft, ohne die Struktur zu initialisieren, passiert nichts Schlimmes.
Die Struktur erlaubt einen unabhängigen Zugriff auf jeden der Datenwerte. Sie können sie nach Bedarf festlegen oder abrufen.
Die Funktion getvolume () ist überladen. Sie können es mit oder ohne Eingabewerte aufrufen. Der Code in main () testet die Struktur gründlich. Das sehen Sie als Ausgabe dieses Beispiels:
Erster Band: 0 Erster Band: 24 Zweiter Band: 28. 896 Höhe: 2. 1 Breite: 3. 2 Länge: 4. 3
Sie können Strukturen für ein anderer interessanter Zweck. Der C ++ - Standard besagt, dass Sie keine Typdefinitionsvorlage erstellen können. Der folgende Code erzeugt beispielsweise einen Fehler, wenn Sie versuchen, es zu kompilieren:
Vorlage Typedef-Karte MyDef;
Wenn Sie versuchen, diesen Code in Code:: Blocks zu kompilieren, wird der folgende Fehler angezeigt:
Fehler: Vorlagenerklärung von 'typedef'
Sie können jedoch ein Typedef innerhalb einer Strukturvorlage definieren. Der Beispielcode von StructureTemplate2 zeigt hier wie.
#include #include using Namespace std; Vorlagenstruktur MyDef {typedef map Type;}; int main () {MyDef:: Typ Ehen; Ehen ["Tom"] = "Suzy"; Ehen ["Harry"] = "Harriet"; cout << Ehen ["Tom"] << endl; cout << Ehen ["Harry"] << endl; return 0;}
Dieses Beispiel überwindet die Einschränkungen von C ++, indem es das typedef innerhalb der Struktur MyDef platziert. Die gleiche Struktur kann eine beliebige Anzahl von typedef-Einträgen enthalten.
Die Verwendung eines Typedefs auf diese Weise erleichtert das Arbeiten mit der Karte.Sie müssen sich nur um den Wertetyp kümmern - der Schlüsseltyp ist bereits als String definiert.