Was ist eine Template-Klasse in C ++?

Die Vorlagenklasse ist, wie der Name schon sagt, eine Vorlage für Klassen. Mit C ++ können wir eine Klasse erstellen, die als Vorlage für zukünftige Klassen dient. Eine Vorlagenklasse verfügt über generische Variablen und Methoden vom Typ „T“, die später angepasst werden können, um je nach Anforderung mit verschiedenen Datentypen verwendet zu werden.

Definition

Gemäß der Standarddefinition ist eine Vorlagenklasse in C ++ eine Klasse, die es dem Programmierer ermöglicht, mit generischen Datentypen zu arbeiten. Auf diese Weise kann die Klasse gemäß den Anforderungen für viele verschiedene Datentypen verwendet werden, ohne dass sie für jeden Typ neu geschrieben werden muss.

Grundlegendes zur Vorlagenklasse in C ++

Wenn wir zum besseren Verständnis das reale Beispiel einer Template-Klasse betrachten, können wir dies als Blaupause betrachten. Wenn ein Immobilienbauer ein Township entwirft, bereitet er den Grundriss von Wohnungen vor, der die allgemeinen Spezifikationen wie Grundriss, Platzierung von Türen, Fenstern usw. enthält. Diese Blaupause kann als eine Schablonenklasse angesehen werden, die uns einen allgemeinen Überblick gibt Vorstellung davon, wie eine Wohnung aussehen wird, von einem größeren Bild. Dies kann verwendet werden, um einzelne Wohnungen zu entwerfen, die gemäß den Vorlieben des Eigentümers angepasst werden können, die für diese Wohnung spezifisch sind, aber die generische Vorlage wird in der gesamten Gemeinde gleich bleiben.

Die Template-Klasse arbeitet mit ähnlichen Zeilen. Wenn wir eine Unternehmensanwendung entwerfen, enthält diese mehrere Entitäten, die die Klassen darstellen. Jede Klasse hat ihre spezifischen Eigenschaften und Methoden. Es kann jedoch eine Vorlage entworfen werden, mit der diese Entitäten in die Datenbank eingefügt werden können. Wir werden dieses Beispiel in den kommenden Abschnitten dieses Artikels verwenden. Wenn wir die Vorlagenklasse jedoch nicht verwenden, müssen wir einzelne Klassen für die Vorgänge "Erstellen", "Abrufen", "Aktualisieren" und "Löschen" schreiben. Durch die Verwendung der Template-Klasse können wir diese Arbeit jedoch erledigen, indem wir nur eine einzige Klasse schreiben, wodurch viel Zeit eingespart und die Möglichkeit vieler redundanter doppelter Codes beseitigt wird.

Wie macht die Template-Klasse in C ++ das Arbeiten so einfach?

Bei der Arbeit an einer Unternehmensanwendung sehen sich die Programmierer in den meisten Fällen einem Szenario gegenüber, bei dem die Programmstruktur mit zunehmender Anzahl von Modellklassen kompliziert wird. Die Komplexität wird weiter erhöht, wenn wir die OOPS-Konzepte wie Vererbung und Polymorphismus implementieren. In solchen Szenarien bieten sich Vorlagenklassen an, mit denen Sie die Codezeilen reduzieren können, die Sie für die Ausführung einiger Vorgänge schreiben möchten, die für mehrere Klassen / Entitäten gleich bleiben.

Was können Sie mit Template-Klassen in C ++ tun?

Mithilfe von Vorlagenklassen kann die Codekomplexität reduziert werden, indem generische Operationen definiert werden, die in einer Vorlagenklasse ausgeführt werden sollen, und diese Vorlagenklasse mit mehreren Datentypen verwendet werden, um die erforderlichen Ergebnisse zu erzielen.

Wenn wir zum Beispiel ein Taschenrechnerprogramm schreiben, das Methoden mit 2 Eingabeparametern enthält, können Sie Additionen, Subtraktionen, Multiplikationen und Divisionen ausführen und die Ausgabe zurückgeben.

Nehmen wir an, die ursprüngliche Anforderung bestand darin, ein solches Programm nur für die Arbeit mit natürlichen Zahlen zu entwickeln. Zu diesem Zweck haben Sie gerade eine Klasse mit der folgenden Vorlage geschrieben.

Klassenrechner:

(

Öffentlichkeit:

unsigned Add (unsigned num1, unsigned num2) ()

vorzeichenlose Subtraktion (vorzeichenlose Nummer1, vorzeichenlose Nummer2) ()

vorzeichenlos multiplizieren (vorzeichenlos num1, vorzeichenlos num2) ()

Divide ohne Vorzeichen (unsigned num1, unsigned num2) ()

);

Mit der Änderung der Anforderung werden Sie nun aufgefordert, ähnliche Operationen für alle Ganzzahlen (negative und positive) sowie Dezimaltypen (lange) durchzuführen.

Mit der aktuellen Klasse werden Sie zwei zusätzliche Klassen schreiben oder diese Klasse bearbeiten, um ähnliche Funktionen für lange Zeiträume und auch für Datentypen hinzuzufügen.

Wenn wir jedoch eine Vorlagenklasse verwenden, definieren wir nur eine Vorlagenklasse, die für den generischen Datentyp geeignet ist. Der Datentyp für den Rückgabewert und die Eingabeparameter wird basierend darauf bestimmt, ob eine vorzeichenlose Variable übergeben wird oder ob dies der Fall ist Datentyp long oder int übergeben:

Vorlage

Klassenrechner:
(

Öffentlichkeit:

T Add (T num1, T num2) ()

T subtrahieren (T num1, T num2) ()

T Multiplizieren (T num1, T num2) ()

T Teilen (T num1, T num2) ()

);

Arbeiten mit Template-Klassen in C ++

Aus dem Calculator-Beispiel im obigen Abschnitt können wir diese generische Calculator-Klasse in unserer Hauptfunktion oder in jedem anderen Bereich unseres Programms mit den folgenden unterschiedlichen Datentypen verwenden:

Void main () (

Long resultLong = Calculator.Add (20, 7, 18, 2);

Int resultInt = Calculator.Add (10, -15);

Unsigned resultUnsigned = Calculator.Add (10, 18);

)

Hier wird der in der generischen Klasse definierte Datentyp von T basierend auf dem Datentyp der Eingabeparameter bestimmt, die an die Funktionen übergeben werden.

Vorteile der Template-Klasse in C ++

Die wichtigsten Vorteile der Verwendung von Vorlagenklassen sind wie folgt:

  1. Sie müssen nur eine Klasse definieren, die mit verschiedenen Datentypen funktioniert.
  2. Zum Zeitpunkt der Kompilierung werden Instanzen dieser Vorlagenklasse nur für die Datentypen generiert, für die die Vorlagenklasse im Programm verwendet wurde.

Wenn wir im obigen Beispiel nur eine Schablonenklasse mit dem Datentyp int verwenden, erstellt der Compiler eine Instanz nur des Datentyps int, wodurch Speicherplatz gespart wird, der bei der Implementierung der Datentypen Long und Unsigned benötigt worden wäre einzelne Klassen für jeden.

  1. Wie wir bereits gesehen haben, reduziert das Erstellen und Verwenden einer Vorlagenklasse den Aufwand und die Codezeilen für die Entwicklung sowie die Komplexität und die Zeit beim Debuggen des Programms für alle Probleme, da Sie nur mit einer Klasse arbeiten.

Erforderliche Vorlagenklasse in C ++ - Kenntnissen

Das Erstellen und Verwenden von Vorlagenklassen ist sehr einfach und erfordert keine fortgeschrittenen Programmierkenntnisse in C ++. Sie müssen lediglich die Klassen analysieren, die gemeinsame Funktionen haben, und für alle Klassen eine Vorlagenklasse erstellen.

Warum sollten wir eine Template-Klasse in C ++ verwenden?

Wir sollten immer versuchen, Vorlagenklassen in unsere Programme aufzunehmen, wenn wir an einer Unternehmensanwendung arbeiten, die sich in Zukunft ändern und wachsen kann. Dies wird uns in Zukunft helfen, wenn wir an der Erweiterung der Funktionen des Programms arbeiten. Dann stellen wir fest, dass ein Großteil der Arbeit bereits von Vorlagenklassen verwaltet wird und wenn die Anwendung im Laufe der Zeit komplex wird, bleibt der Code immer noch kompakt und verständlich für jeden, der das Programm neu sieht.

Warum brauchen wir eine Template-Klasse in C ++?

Die Template-Klasse funktioniert als Container, was sehr praktisch ist, wenn mehrere Klassen dieselbe Funktion für verschiedene Datentypen auf ähnliche Weise ausführen. In diesem Container wird die Funktionalität in einer einzigen Entität zusammengefasst, die je nach Anforderung für verschiedene Datentypen verwendet werden kann.

Eine andere häufige Verwendung für die Vorlagenklasse kann darin bestehen, Datenstrukturen wie verknüpfte Listen, Stapel und Warteschlangen zur Unterstützung verschiedener Datentypen zu implementieren. Diese Datenstrukturen folgen dem gleichen Ansatz für Push, Pop und Traverse von Elementen, unabhängig vom Datentyp, und können daher durch Implementierung einer Schablonenklasse verwendet werden.

Wie hilft Ihnen diese Technologie beim Karrierewachstum?

Gute Kenntnisse und praktische Konzepte wie eine Vorlagenklasse sind das, was Sie als Programmierer für Unternehmensanwendungen von einem Programm unterscheidet, das nur Programmierkenntnisse besitzt und sich möglicherweise nicht sofort an eine große Unternehmensanwendung anpassen kann optimalste Art und Weise.

Auf diese Weise können Sie auch Codes mit besserer Verständlichkeit und Erweiterbarkeit schreiben.

Fazit

Wenn wir in einer beliebigen Sprache arbeiten und programmieren, sollte unser Ziel immer sein, die Wiederverwendbarkeit unseres Codes zu unterstützen, indem wir ihn so allgemein wie möglich gestalten und ihn modular und kompakt halten. Die Vorlagenklassen sind eine großartige Möglichkeit, dies für Klassen mit gemeinsamen ähnlichen Funktionen zu erreichen.

Empfohlener Artikel

Dies war eine Anleitung zu What is Template Class in C ++ ?. Hier haben wir die Vorteile zusammen mit der Notwendigkeit der Template-Klasse in C ++ diskutiert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Vorlage in Java
  2. HTML-Webvorlagen
  3. Was ist ExpressJS?
  4. Was ist Erkundungstest?