English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ Le langage prend en charge divers opérateurs de relation ( < , > , <= , >= , == , etc.), qui peuvent être utilisés pour comparer C++ Types de données intégrés.
Vous pouvez surcharger n'importe quel opérateur de relation, et l'opérateur de relation surchargé peut être utilisé pour comparer les objets de la classe.
L'exemple suivant montre comment surcharger l'opérateur <, de la même manière, vous pouvez également essayer de surcharger d'autres opérateurs de relation.
#include <iostream> using namespace std; class Distance { private: int feet; // 0 à l'infini int inches; // 0 à 12 public: // Constructeurs nécessaires Distance(){ feet = 0; inches = 0; } Distance(int f, int i){ feet = f; inches = i; } // Méthode d'affichage de la distance void displayDistance() { cout << "F: " << feet << " I:" << inches << endl; } // Surcharge de l'opérateur négatif ( - ) Distance operator- () { feet =; -feet; inches =; -inches; return Distance(feet, inches); } // Surcharge de l'opérateur inférieur ( < ) bool operator <(const Distance& d) { if(feet < d.feet) { return true; } if(feet == d.feet && inches < d.inches) { return true; } return false; } }; int main() { Distance D1(11, 10), D2(5, 11); if( D1 < D2 ) { cout << "D1小于D2 " << endl; } else { cout << "D2小于D1 " << endl; } return 0; }
当上面的代码被编译和执行时,它会产生下列结果:
D2小于D1