C++-Überladungsvergleichsoperator in

C Uberladungsvergleichsoperator In



Das Überladen von Operatoren ist ein entscheidendes Konzept in C++, mit dem Sie die Funktionalität der integrierten Operatoren erreichen können, während Sie mit benutzerdefinierten Datentypen arbeiten. Vergleichsoperatoren in C++ sind diejenigen, die dazu da sind, zwei Werte wie „==“, „!=“, „>“, „<“, „>=“ und „<=“ miteinander zu vergleichen. In diesem Artikel werden die Methoden zum Überladen aller sechs dieser Vergleichsoperatoren in C++ in Ubuntu 20.04 vorgestellt.

Beispiel Nr. 1: Überladen des Operators „==“ in C++:

Zum Überladen des „==“-Operators in C++ haben wir die folgende C++-Klasse entworfen:







Der Name unserer C++-Klasse ist ProductPrice. Innerhalb dieser Klasse haben wir einen privaten „Preis“ für Mitglieder. Danach haben wir einige öffentliche Member-Funktionen. Die erste Funktion mit dem Namen „userInput“ nimmt den Produktpreis als Eingabe des Benutzers. Dann haben wir die Funktion zum Überladen des „==“-Operators in C++. Wir haben dieser Funktion ein Objekt der Klasse ProductPrice übergeben. Innerhalb dieser Funktion haben wir eine „if“-Anweisung, die „true“ zurückgibt, wenn die Preise der beiden Produkte gleich sind, andernfalls „false“.



Um dies zu testen, haben wir die im Bild unten gezeigte Treiberfunktion:







In unserer Funktion „main()“ haben wir zunächst zwei Objekte unserer Klasse erzeugt. Dann haben wir die Funktion „userInput“ mit jedem der beiden Objekte einzeln aufgerufen, um die Preise der beiden Produkte als Eingabe des Benutzers zu übernehmen. Danach haben wir eine „if“-Anweisung, um eine Nachricht auszugeben, wenn die beiden Preise gleich sind, und eine weitere Nachricht, wenn nicht.

Wir haben dieses Programm mit dem folgenden Befehl kompiliert:



$ g++ Vergleichsoperator.cpp –o Vergleichsoperator

Dann haben wir es mit dem unten gezeigten Befehl ausgeführt:

$ . / Vergleichsoperator

Beim Ausführen dieses Codes wurden wir aufgefordert, den Preis des ersten Produkts einzugeben, wie im folgenden Bild gezeigt:

Dann wurden wir gebeten, den Preis des zweiten Produkts einzugeben, wie im Bild unten gezeigt:

Da wir für beide Produkte die gleichen Preise eingegeben haben, können wir in der folgenden Ausgabe sehen, dass unser „==“-Operator erfolgreich überladen wurde.

Um es nun für die „else“-Anweisung zu testen, haben wir zwei verschiedene Produktpreise eingegeben, wie in der Abbildung unten gezeigt:

Beispiel Nr. 2: Überladen des Operators „!=“ in C++:

Zum Überladen des „!=“-Operators in C++ haben wir die folgende C++-Klasse entworfen:

Dieses Programm sieht unserem ersten Beispiel sehr ähnlich. Der einzige Unterschied besteht darin, dass wir den „==“-Operator überall durch den „!=“-Operator ersetzt haben.

Um dies zu testen, haben wir die im Bild unten gezeigte Treiberfunktion:

Wir haben die Funktion „userInput“ in unserer Funktion „main()“ mit jedem der beiden Objekte nacheinander aufgerufen, um die Preise der beiden Produkte als Eingabe des Benutzers zu übernehmen. Danach haben wir eine „if“-Anweisung, um eine Nachricht auszugeben, wenn die beiden Preise nicht gleich sind, und eine weitere Nachricht, wenn sie es sind.

Als wir diesen Code mit zwei verschiedenen Produktpreisen ausführten, stellten wir fest, dass unser Ungleichheitsoperator erfolgreich überladen wurde, wie Sie dem folgenden Bild entnehmen können:

Um es nun auf die „else“-Anweisung zu testen, haben wir zwei ähnliche Produktpreise eingegeben, wie in der Abbildung unten gezeigt:

Beispiel 3: Überladen des „>“-Operators in C++:

Zum Überladen des „>“-Operators in C++ haben wir die folgende C++-Klasse entworfen:

Dieses Programm ähnelt auch unseren obigen Beispielen. Der einzige Unterschied besteht darin, dass wir den „!=“-Operator überall durch den „>“-Operator ersetzt haben.

Um dies zu testen, haben wir die im Bild unten gezeigte Treiberfunktion:

Wir haben die Funktion „userInput“ in unserer Funktion „main()“ mit jedem der beiden Objekte nacheinander aufgerufen, um die Preise der beiden Produkte als Eingabe des Benutzers zu übernehmen. Danach haben wir eine „if“-Anweisung, um eine Nachricht auszugeben, wenn der erste Preis größer als der andere ist, und eine weitere Nachricht, wenn dies nicht der Fall ist.

Als wir diesen Code mit zwei verschiedenen Produktpreisen ausführten, stellten wir fest, dass unser Größer-als-Operator erfolgreich überladen wurde, wie Sie dem folgenden Bild entnehmen können:

Um es nun auf die „else“-Anweisung zu testen, haben wir zwei ähnliche Produktpreise eingegeben, wie in der Abbildung unten gezeigt:

Beispiel 4: Überladen des „<“-Operators in C++:

Zum Überladen des „<“-Operators in C++ haben wir die folgende C++-Klasse entworfen:

Dieses Programm ähnelt auch unseren obigen Beispielen. Der einzige Unterschied besteht darin, dass wir den „>“-Operator überall durch den „<“-Operator ersetzt haben.

Um dies zu testen, haben wir die im Bild unten gezeigte Treiberfunktion:

Wir haben die Funktion „userInput“ in unserer Funktion „main()“ mit jedem der beiden Objekte einzeln aufgerufen, um die Preise der beiden Produkte als Eingabe des Benutzers zu übernehmen. Danach haben wir eine „if“-Anweisung, um eine Nachricht auszugeben, wenn der erste Preis niedriger als der andere ist, und eine weitere Nachricht, wenn dies nicht der Fall ist.

Als wir diesen Code mit zwei verschiedenen Produktpreisen ausgeführt haben, haben wir herausgefunden, dass unser Kleiner-als-Operator erfolgreich überladen wurde, wie Sie dem folgenden Bild entnehmen können:

Um es jetzt für die „else“-Anweisung zu testen, haben wir wieder zwei verschiedene Produktpreise eingegeben, aber dieses Mal ist der Preis des ersten Produkts höher als der des zweiten, wie in der Abbildung unten gezeigt:

Beispiel Nr. 5: Überladen des Operators „>=“ in C++:

Zum Überladen des „>=“-Operators in C++ haben wir die folgende C++-Klasse entworfen:

Dies unterscheidet sich geringfügig von unseren obigen Beispielen. Während wir den Operator dieses Mal überladen, haben wir zwei Bedingungen innerhalb der „if“-Anweisung, die durch das „||“ getrennt sind. Symbol. Dies bedeutet, dass diese Anweisung überprüft, ob der Preis eines Produkts größer oder gleich einem anderen ist.

Um dies zu testen, haben wir die im Bild unten gezeigte Treiberfunktion:

Wir haben die Funktion „userInput“ in unserer Funktion „main()“ mit jedem der beiden Objekte einzeln aufgerufen, um die Preise der beiden Produkte als Eingabe des Benutzers zu übernehmen. Danach haben wir eine „if“-Anweisung, um eine Nachricht auszugeben, wenn der erste Preis größer oder gleich dem anderen ist, und eine weitere Nachricht, wenn dies nicht der Fall ist.

Als wir diesen Code mit zwei unterschiedlichen Produktpreisen ausgeführt haben, haben wir herausgefunden, dass unser Operator „größer als oder gleich“ erfolgreich überladen wurde, wie Sie dem folgenden Bild entnehmen können:

Um es jetzt für die „else“-Anweisung zu testen, haben wir den ersten Produktpreis kleiner als den zweiten eingegeben, wie in der Abbildung unten gezeigt:

Beispiel Nr. 6: Überladen des Operators „<=“ in C++:

Nach der gleichen Methode wie in unserem fünften Beispiel haben wir auch den Operator „<=“ überladen, und sein Code lautet wie folgt:

Die Ausführungsergebnisse dieses Programms mit unterschiedlichen Werten sind in den folgenden Bildern dargestellt:

Fazit:

Dieser Artikel hat sehr gut erklärt, wie man in Ubuntu 20.04 die sechs Vergleichsoperatoren in C++ überladen kann. Wir begannen mit einer kurzen Einführung in das Überladen von Operatoren, dann wurden alle sechs Vergleichsoperatoren in C++ überladen. Wir haben dieselbe benutzerdefinierte Klasse verwendet, um all diese Methoden zu demonstrieren. Sobald Sie diese Methoden durchlaufen haben, können Sie diese Vergleichsoperatoren für jede andere benutzerdefinierte Klasse überladen.