Nạp chồng toán tử quan hệ trong C++

Có nhiều toán tử quan hệ đa dạng được hỗ trợ bởi C++, ví dụ như: (<, >, <=, >=, ==, ...) mà có thể được sử dụng để so sánh các kiểu dữ liệu có sẵn trong C++.

Bạn có thể nạp chồng bất kỳ toán tử quan hệ nào, mà có thể được sử dụng để so sánh các đối tượng của một lớp.

Ví dụ sau giải thích cách toán tử < trong C++ có thể được nạp chồng và theo cách tương tự, bạn có thể nạp chồng các toán tử quan hệ khác trong C++:

#include <iostream>
using namespace std;
 
class KhoangCach
{
   private:
      int met;             
      int centimet;           
   public:
      // phan khai bao cac constructor can thiet
      KhoangCach(){
         met = 0;
         centimet = 0;
      }
      KhoangCach(int m, int c){
         met = m;
         centimet = c;
      }

      // nap chong toan tu <
      bool operator <(const KhoangCach& k)
      {
         if(met < k.met)
         {
            return true;
         }
         if(met == k.met && centimet < k.centimet)
         {
            return true;
         }
         return false;
      }
};
int main()
{
   KhoangCach K1(23, 15), K2(17, 46);
 
   if( K1 < K2 )
   {
      cout << "K1 la ngan hon K2 " << endl;
   }
   else
   {
      cout << "K2 la ngan hon K1 " << endl;
   }
   return 0;
}

Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

K2 la ngan hon K1 

Theo Tutorialspoint

Bài trước: Nạp chồng toán tử nhị phân trong C++

Bài tiếp: Nạp chồng toán tử Input/Output trong C++

Thứ Tư, 08/08/2018 14:30
51 👨 1.288
0 Bình luận
Sắp xếp theo
    ❖ Lập trình C++