C ++ Überlastvergleichsbetreiber

C ++ Überlastvergleichsbetreiber
Überladen ist das Konzept, mit dem der Programmierer mehr als eine Methode verschiedener Funktionen angeben kann. Dies ist nicht nur an Methoden gebunden; Wir können auch die zahlreichen Betreiber wie Vergleichsbetreiber überladen. Betreiber sind die Symbole, die die Operationen in den Operanden ausführen (die Werte). Der Vergleich ist, wenn Sie zwei Werte miteinander unter Verwendung der Entscheidungsaussagen vergleichen. Überlastung des Vergleichsbetreibers bedeutet, mehr als eine Vergleichsentscheidungserklärung zu definieren. Wir führen einen Überlastungsvergleich in den Klassen durch, wenn eine Klasse verwendet wird, und wir setzen eine Erkrankung in der Klasse. Außerhalb der Klasse setzen wir auch den gleichen Zustand für die Objekte. Dies überlastet den Bediener. Andernfalls wäre der Compiler nicht in der Lage, diese Bedingungen zu bewältigen.

Methodensyntax:
Return_type operator operator_symbol ()

Die Methode für einen überlasteten Operator ist etwas anders definiert. Es handelt sich um eine Methode vom Typ Return, die den Wortoperator mit dem Operator_Symbol enthält, den wir überladen möchten.

Überladen Sie den Vergleichsbetreiber

Es gibt sechs Zuordnungsbetreiber und alle sechs können überladen werden. Diese werden als Vergleichsoperatoren bezeichnet, da sie zwei Werte oder Variablen (die die Werte speichern) miteinander vergleichen. Wenn die Bedingung erfüllt ist, wird die nächste Operation durchgeführt. Es ist sehr nützlich, die Betreiber zu überladen, wenn wir die Werte miteinander basierend auf verschiedenen Bedingungen vergleichen müssen. Die sechs Vergleichsbetreiber mit den Funktionen werden in der folgenden Diskussion erläutert.

1. < - Der weniger als Operator vergleicht die folgende Bedingung: Wenn die erste Ganzzahl geringer ist als der andere, führen Sie den Körper aus.

2. > - Der größere als Operator vergleicht die folgende Bedingung: Wenn die erste Ganzzahl größer als der zweite ist, führen Sie den Körper aus.

3. <= - Der weniger als oder gleich dem Operator vergleicht die folgende Bedingung: Wenn der erste Term geringer oder gleich dem zweiten ist, führen Sie den Körper aus.

4. > = - Der größere oder gleiche wie dem Operator vergleicht die folgende Bedingung: Wenn der erste Term größer oder gleich dem zweiten ist, führen Sie den Körper aus.

5. == - Das Doppelgast prüft, ob die beiden Ganzzahlen gleich sind oder nicht. Wenn ja, führen Sie den Körper aus. Ansonsten wechseln Sie zur nächsten Aussage.

6. != - Der nicht gleiche Operator bewertet, ob die beiden Begriffe nicht gleich sind. Wenn ja, führen Sie den Körper aus. Andernfalls wird die Bedingung falsch und die nächste Anweisung wird ausgeführt.

Wir vergleichen alle Werte mit allen sechs Vergleichsoperatoren in Paaren: =, == und !=.

Überladen die < and <= Comparison Operators

Vergleichen wir die beiden Werte mit dem "<” and “<=” operators. Then, overload these operators.

Code:

#enthalten
Verwenden von Namespace STD;
Klasse weniger

Privatgelände :
int nummer;
öffentlich :
void input_0 ()
cin >> Nummer;
Int -Operator < (Less x)

if (NummerRückkehr 1;
anders
Rückkehr 0;

Int -Operator <= (Less x)

if (Nummer<=x.number)
Rückkehr 1;
anders
Rückkehr 0;

;
int main ()

Weniger N1, N2;
Cout<<"Please enter 1st number. ";
N1. input_0 ();
Cout<<"Please enter 2nd number. ";
N2. input_0 ();
if (n1Cout<<"n1 is less than n2. ";
sonst wenn (n1<=n2)
Cout<<"n1 is less than or equal to n2. ";
anders
Cout<<"n1 is not less than or equal to n2. ";
Rückkehr 0;

In diesem Code die Bibliothek und den Namespace STD einbeziehen. Definieren Sie eine "weniger" Klasse, weil wir in diesem Beispiel die überladen < (less than) and >Damit der Benutzer die Nummer einfügen kann. Nun, überlasten Sie die weniger als (<) operator by defining the integer return type function as int operator <(). Within this function, specify an argument of the “Less” class. Next, apply the “if” condition. If the inserted number is less than “x.number”, return 1. Otherwise, return zero.

Überladen die weniger als oder gleich (<=) operator by implementing the same steps that we used to overload the (<) operator. Apply the main() function. Inside this, create two objects - “n1” and “n2” - of the “Less” class. Furthermore, use “cout<<” to print a message and call the input_0() method to get the values. Again, execute the “cout<<” and call the same method for object “n2”. Now, compare the first and second numbers. If n1 < n2, execute the body of “if”. And if n1<= n2, execute the body of the “else if”. Otherwise, execute the “else”. This way, we overload the operators.

Ausgang:

Bitte geben Sie die 1. Nummer ein. 34
Bitte geben Sie die 2. Nummer ein. 223
N1 ist weniger als N2.

Überlasten Sie die Operatoren> und> = Vergleichsbetreiber

Lassen Sie uns die Überladung von Betreibern ">" und "> =" diskutieren, indem wir das C ++ - Programm ausführen.

Code:

#enthalten
Verwenden von Namespace STD;
Klasse größer

Privatgelände :
int nummer;
öffentlich :
void input_0 ()
cin >> Nummer;
Int -Operator> (Greater X)

if (number> x.Nummer)
Rückkehr 1;
anders
Rückkehr 0;

Int -Operator> = (Greater X)

if (number> = x.Nummer)
Rückkehr 1;
anders
Rückkehr 0;

;
int main ()

Greater N1, N2;
Cout<<"Please Enter 1st number. ";
N1. input_0 ();
Cout<<"Please Enter 2nd number. ";
N2. input_0 ();
if (n1> n2)
Cout<<"n1 is greater than n2. ";
sonst wenn (n1> = n2)
Cout<<"n1 is greater than or equal to n2. ";
anders
Cout<<"n1 is not greater than or equal to n2. ";
Rückkehr 0;

Geben Sie am Start #include und "Verwenden von Namespace STD" ein. Erstellen Sie danach eine „größere“ Klasse, da wir die (größer als) und> = (größer als oder gleich) Operatoren in diesem Code überlasten. Definieren Sie ein "Zahlen" -Datenmitglied der Klasse und setzen Sie dieses Datenmitglied als privat. Erstellen Sie dann eine input_0 () -Methode, um die von den Benutzer bereitgestellten Werte zu erhalten. Diese Funktion soll öffentlich sein. Jetzt kann der Benutzer die Nummer mit dem Befehl „CIN >>“ erwähnen. Indem wir die Ganzzahl -Rückgabetypmethode aufrufen und ein Argument der „größeren“ Klasse an diese Methode übergeben, können wir den größeren als (>) Operator überladen. Verwenden Sie die Bedingung "If", um 1 zurückzugeben, wenn die "Zahl" größer als "x" ist.Nummer". Ansonsten kehren Sie 0 zurück.

Wiederholen Sie diesen Vorgang, um den Operator (> =) zu überladen. Erstellen Sie nach dem Aufrufen der Main () -Methode die Objekte der „größeren“ Klasse. Führen Sie die „Cout aus<<” statement and input_0() function for both objects of the class. Here, compare the input values. If the first condition is satisfied, the “if” body is implemented. If the second condition is satisfied, the “else-if” body is implemented. If no condition is satisfied, execute the “else” part.

Ausgang:

Bitte geben Sie die 1. Nummer ein. 432
Bitte geben Sie die 2. Nummer ein. 789
N1 ist nicht größer als oder gleich N2.

Überladen die == und != Vergleichsoperatoren

Implementieren Sie den Code, um zu überprüfen, ob zwei Werte gleich sind oder nicht !=. Zeigen Sie auch, wie diese Betreiber überladen sind.

Code:

#enthalten
Verwenden von Namespace STD;
Klasse gleich

Privatgelände :
int nummer;
öffentlich :
void get_input ()
cin >> Nummer;
int operator == (gleich x)

if (number == x.Nummer)
Rückkehr 1;
anders
Rückkehr 0;

Int -Operator != (Gleich x)

if (Nummer!= x.Nummer)
Rückkehr 1;
anders
Rückkehr 0;

;
int main ()

Gleich N1, N2;
Cout<<"Please enter 1st number. ";
N1.Get_input ();
Cout<<"Please enter 2nd number. ";
N2.Get_input ();
if (n1 == n2)
Cout<<"n1 is equal to n2. ";
sonst wenn (n1!= N2)
Cout<<"n1 is not equal to n2. ";
anders
Cout<<"Sorry ";
Rückkehr 0;

In der ersten Erklärung die Bibliothek einbeziehen. Verwenden Sie zusammen mit dem "Namespace STD". Eine „gleiche“ Klasse wird erstellt, um das = (gleich) und zu überlasten und != (nicht gleich) Operatoren. Definieren Sie eine Variable mit "zahlen" mit einem Int -Typ und definieren Sie die Methode get_input (). Verwenden Sie nun "CIN >>", um die Ganzzahl vom Benutzer zu erhalten. Danach überlasten Sie die gleiche (=) und nicht gleich (nicht gleich (!=) Betreiber, indem die Funktionen des Ganzzahltyps verwendet werden und den überladenen Operator auf == und festlegen != im Körper dieser Funktionen. Verwenden Sie außerdem die Main () -Methode, um die Objekte der „Gleicher“ Klasse zu erstellen. Erhalten Sie die typisierten Werte des Benutzers, indem Sie die Funktion get_input () zweimal aufrufen. Vergleichen Sie diese Werte, um zu überprüfen, ob sie gleich oder nicht gleich sind. Wir müssen nicht sowohl gleiche als auch nicht gleiche Bediener überlasten, da wenn die Werte gleich sind, wird ein überlasteter gleicher Bediener ausgeführt. Wenn nicht, zeigt das „else wenn“ eine Nachricht auf dem Terminal an. Um die Arbeit beider Methoden hier zu erklären, definieren wir die beiden überlasteten Methoden.

Ausgang:

Bitte geben Sie die 1. Nummer ein. 45
Bitte geben Sie die 2. Nummer ein. 45
N1 ist gleich N2.

Abschluss

Dieser Leitfaden zeigt Informationen darüber, was die Vergleichsbetreiber sind und wie wir sie in C überladen können++. Das Überladen des Vergleichsbetreibers ist so einfach und einfach, dass es genau wie das Überladen einer Methode ist. Aber hier erwähnen wir den überladenen Bedieneramen mit dem Schlüsselwort „Operator“. Alle Vergleichsbetreiber werden in den Codes dieses Handbuchs überladen.