Πρόγραμμα C ++ για αφαίρεση σύνθετου αριθμού με υπερφόρτωση χειριστή

Σε αυτό το παράδειγμα, θα μάθετε να αφαιρείτε πολύπλοκους αριθμούς χρησιμοποιώντας υπερφόρτωση του χειριστή.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού C ++:

  • Μαθήματα και αντικείμενα C ++
  • Κατασκευαστές C ++
  • Υπερφόρτωση χειριστή C ++

Επειδή - είναι ένας δυαδικός χειριστής (χειριστής που λειτουργεί σε δύο τελεστές), ένας από τους τελεστές πρέπει να μεταβιβάζεται ως επιχείρημα στη λειτουργία του χειριστή και η διαδικασία υπολοίπου είναι παρόμοια με την υπερφόρτωση των μη λειτουργικών χειριστών.

Παράδειγμα: Υπερφόρτωση δυαδικού χειριστή για αφαίρεση του αριθμού συμπλέγματος

 #include using namespace std; class Complex ( private: float real; float imag; public: Complex(): real(0), imag(0)( ) void input() ( cout <> real; cin>> imag; ) // Operator overloading Complex operator - (Complex c2) ( Complex temp; temp.real = real - c2.real; temp.imag = imag - c2.imag; return temp; ) void output() ( if(imag < 0) cout << "Output Complex number: "<< real << imag << "i"; else cout << "Output Complex number: " << real << "+" << imag << "i"; ) ); int main() ( Complex c1, c2, result; cout<<"Enter first complex number:"; c1.input(); cout<<"Enter second complex number:"; c2.input(); // In case of operator overloading of binary operators in C++ programming, // the object on right hand side of operator is always assumed as argument by compiler. result = c1 - c2; result.output(); return 0; ) 

Σε αυτό το πρόγραμμα, δημιουργούνται τρία αντικείμενα τύπου Complex και ζητείται από τον χρήστη να εισαγάγει τα πραγματικά και φανταστικά μέρη για δύο σύνθετους αριθμούς που είναι αποθηκευμένοι σε αντικείμενα c1και c2.

Στη συνέχεια result = c1 -c 2εκτελείται η δήλωση . Αυτή η δήλωση επικαλείται τη λειτουργία του χειριστή Complex operator - (Complex c2).

Όταν result = c1 - c2εκτελείται, c2μεταβιβάζεται ως όρισμα στη λειτουργία χειριστή.

Σε περίπτωση υπερφόρτωσης των δυαδικών τελεστών από τον χειριστή στον προγραμματισμό C ++, το αντικείμενο στη δεξιά πλευρά του χειριστή θεωρείται πάντα ως επιχείρημα από τον μεταγλωττιστή.

Στη συνέχεια, αυτή η συνάρτηση επιστρέφει τον προκύπτοντα σύνθετο αριθμό (αντικείμενο) στην κύρια () συνάρτηση που εμφανίζεται στην οθόνη.

Αν και, αυτό το σεμινάριο περιέχει την υπερφόρτωση των τελεστών, οι δυαδικοί τελεστές στον προγραμματισμό C ++ όπως: +, *, <, + = κ.λπ. μπορούν να υπερφορτωθούν με παρόμοιο τρόπο.

ενδιαφέροντα άρθρα...