Operatore di confronto dell'overload C++ in

Operatore Di Confronto Dell Overload C In



L'overload degli operatori è un concetto cruciale in C++ che consente di ottenere la funzionalità degli operatori incorporati mentre si lavora con tipi di dati definiti dall'utente. Gli operatori di confronto in C++ sono quelli che servono per confrontare due valori tra loro come '==', '!=', '>', '<', '>=' e '<='. Questo articolo condividerà i metodi per sovraccaricare tutti e sei questi operatori di confronto in C++ in Ubuntu 20.04.

Esempio n. 1: sovraccarico dell'operatore '==' in C++:

Per sovraccaricare l'operatore '==' in C++, abbiamo progettato la seguente classe C++:







Il nome della nostra classe C++ è ProductPrice. All'interno di questa classe, abbiamo un 'prezzo' per i membri privati. Successivamente, abbiamo alcune funzioni di membro pubblico. La prima funzione, denominata 'userInput', prende il prezzo del prodotto come input dall'utente. Quindi, abbiamo la funzione per sovraccaricare l'operatore '==' in C++. Abbiamo passato un oggetto della classe ProductPrice a questa funzione. All'interno di questa funzione, abbiamo un'istruzione 'if' che restituirà 'vero' se i prezzi dei due prodotti sono uguali, altrimenti 'falso'.



Per testare questo, abbiamo la funzione del driver mostrata nell'immagine qui sotto:







Nella nostra funzione “main()”, abbiamo prima creato due oggetti della nostra classe. Quindi, abbiamo chiamato la funzione 'userInput' con ciascuno dei due oggetti uno per uno per prendere i prezzi dei due prodotti come input dall'utente. Successivamente, abbiamo un'istruzione 'if' per stampare un messaggio se i due prezzi sono uguali e un altro messaggio in caso contrario.

Abbiamo compilato questo programma usando il seguente comando:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Quindi, lo abbiamo eseguito utilizzando il comando mostrato di seguito:

$ . / Operatore di confronto

Dopo aver eseguito questo codice, ci è stato chiesto di inserire il prezzo del primo prodotto come mostrato nell'immagine seguente:

Quindi, ci è stato chiesto di inserire il prezzo del secondo prodotto come mostrato nell'immagine qui sotto:

Poiché abbiamo inserito gli stessi prezzi per entrambi i prodotti, possiamo vedere nel seguente output che il nostro operatore '==' è stato sovraccaricato correttamente.

Ora, per testarlo per l'affermazione 'else', abbiamo inserito due diversi prezzi del prodotto, come mostrato nell'immagine qui sotto:

Esempio n. 2: sovraccarico dell'operatore '!=' in C++:

Per sovraccaricare l'operatore '!=' in C++, abbiamo progettato la seguente classe C++:

Questo programma assomiglia molto al nostro primo esempio. L'unica differenza è che abbiamo sostituito ovunque l'operatore “==” con l'operatore “!=”.

Per testare questo, abbiamo la funzione del driver mostrata nell'immagine qui sotto:

Abbiamo chiamato la funzione 'userInput' nella nostra funzione 'main()' con ciascuno dei due oggetti uno per uno per prendere i prezzi dei due prodotti come input dall'utente. Successivamente, abbiamo un'istruzione 'if' per stampare un messaggio se i due prezzi non sono uguali e un altro messaggio se lo sono.

Quando abbiamo eseguito questo codice con due diversi prezzi del prodotto, abbiamo capito che il nostro operatore di disuguaglianza era stato sovraccaricato con successo, come puoi vedere dall'immagine seguente:

Ora, per testarlo per l'affermazione 'else', abbiamo inserito due prezzi di prodotto simili, come mostrato nell'immagine qui sotto:

Esempio n. 3: sovraccarico dell'operatore '>' in C++:

Per sovraccaricare l'operatore '>' in C++, abbiamo progettato la seguente classe C++:

Anche questo programma è simile ai nostri esempi sopra. L'unica differenza è che abbiamo sostituito ovunque l'operatore “!=” con l'operatore “>”.

Per testare questo, abbiamo la funzione del driver mostrata nell'immagine qui sotto:

Abbiamo chiamato la funzione 'userInput' nella nostra funzione 'main()' con ciascuno dei due oggetti uno per uno per prendere i prezzi dei due prodotti come input dall'utente. Successivamente, abbiamo un'istruzione 'if' per stampare un messaggio se il primo prezzo è maggiore dell'altro e un altro messaggio in caso contrario.

Quando abbiamo eseguito questo codice con due diversi prezzi del prodotto, abbiamo capito che il nostro operatore maggiore di era stato sovraccaricato correttamente, come puoi vedere dall'immagine seguente:

Ora, per testarlo per l'affermazione 'else', abbiamo inserito due prezzi di prodotto simili, come mostrato nell'immagine qui sotto:

Esempio n. 4: sovraccarico dell'operatore '<' in C++:

Per sovraccaricare l'operatore '<' in C++, abbiamo progettato la seguente classe C++:

Anche questo programma è simile ai nostri esempi sopra. L'unica differenza è che abbiamo sostituito ovunque l'operatore “>” con l'operatore “<”.

Per testare questo, abbiamo la funzione del driver mostrata nell'immagine qui sotto:

Abbiamo chiamato la funzione 'userInput' nella nostra funzione 'main()' con ciascuno dei due oggetti uno per uno per prendere i prezzi dei due prodotti come input dall'utente. Successivamente, abbiamo un'istruzione 'if' per stampare un messaggio se il primo prezzo è inferiore all'altro e un altro messaggio in caso contrario.

Quando abbiamo eseguito questo codice con due diversi prezzi del prodotto, abbiamo capito che il nostro operatore less than era stato sovraccaricato con successo, come puoi vedere dall'immagine seguente:

Ora, per testarlo per l'affermazione 'else', abbiamo inserito di nuovo due diversi prezzi del prodotto, ma questa volta il prezzo del primo prodotto è maggiore del secondo, come mostrato nell'immagine qui sotto:

Esempio n. 5: sovraccarico dell'operatore '>=' in C++:

Per sovraccaricare l'operatore '>=' in C++, abbiamo progettato la seguente classe C++:

Questo è leggermente diverso dai nostri esempi sopra. Questa volta sovraccaricando l'operatore, abbiamo due condizioni all'interno dell'istruzione 'if' separate dal carattere '||' simbolo. Significa che questa dichiarazione verificherà se il prezzo di un prodotto è maggiore o uguale a un altro.

Per testare questo, abbiamo la funzione del driver mostrata nell'immagine qui sotto:

Abbiamo chiamato la funzione 'userInput' nella nostra funzione 'main()' con ciascuno dei due oggetti uno per uno per prendere i prezzi dei due prodotti come input dall'utente. Successivamente, abbiamo un'istruzione 'if' per stampare un messaggio se il primo prezzo è maggiore o uguale all'altro e un altro messaggio in caso contrario.

Quando abbiamo eseguito questo codice con due diversi prezzi del prodotto, abbiamo capito che il nostro operatore maggiore o uguale a è stato sovraccaricato con successo, come puoi vedere dall'immagine seguente:

Ora, per testarlo per l'affermazione 'else', abbiamo inserito il prezzo del primo prodotto inferiore al secondo, come mostrato nell'immagine qui sotto:

Esempio n. 6: sovraccarico dell'operatore '<=' in C++:

Seguendo lo stesso metodo del nostro quinto esempio, abbiamo anche sovraccaricato l'operatore '<=' e il suo codice è il seguente:

I risultati di esecuzione di questo programma con valori diversi sono mostrati nelle immagini seguenti:

Conclusione:

Questo articolo ha spiegato molto bene come sovraccaricare i sei operatori di confronto in C++ in Ubuntu 20.04. Abbiamo iniziato con una breve introduzione dell'overload degli operatori, quindi tutti e sei gli operatori di confronto in C++ sono stati sovraccaricati. Abbiamo utilizzato la stessa classe definita dall'utente per dimostrare tutti questi metodi. Una volta esaminati questi metodi, sarai in grado di sovraccaricare questi operatori di confronto per qualsiasi altra classe definita dall'utente.