23/08/2018, 11:03

Nạp chồng toán tử gán trong C++

Bạn có thể nạp chồng toán tử gán (=) như khi bạn có thể với các toán tử khác trong C++ và nó có thể được sử dụng để tạo một đối tượng giống như copy constructor. Ví dụ sau minh họa cách nạp chồng toán tử gán trong C++: #include <iostream> using ...

Bạn có thể nạp chồng toán tử gán (=) như khi bạn có thể với các toán tử khác trong C++ và nó có thể được sử dụng để tạo một đối tượng giống như copy constructor.

Ví dụ sau minh họa cách nạp chồng toán tử gán 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;
      }
      void operator=(const KhoangCach &K )
      { 
         met = K.met;
         centimet = K.centimet;
      }
      // phuong thuc de hien thi khoang cach
      void hienthiKC()
      {
         cout << "
Do dai bang m la: " << met <<  "
Va do dai bang cm la: " <<  centimet << endl;
      }
      
};
int main()
{
   KhoangCach K1(23, 16), K2(15, 46);

   cout << "Khoang cach dau tien: "; 
   K1.hienthiKC();
   cout << "
-------------------
";
   cout << "Khoang cach thu hai:"; 
   K2.hienthiKC();

   // su dung toan tu gan
   K1 = K2;
   cout << "
-------------------
";
   cout << "Khoang cach dau tien: "; 
   K1.hienthiKC();

   return 0;
}

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

Nạp chồng toán tử gán trong C++

Theo Tutorialspoint

Bài trước: Nạp chồng toán tử ++ và -- trong C++

Bài tiếp: Nạp chồng toán tử gọi hàm () trong C++

0