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 << "\nDo dai bang m la: " << met << "\nVa do dai bang cm la: " << centimet << endl; } }; int main() { KhoangCach K1(23, 16), K2(15, 46); cout << "Khoang cach dau tien: "; K1.hienthiKC(); cout << "\n-------------------\n"; cout << "Khoang cach thu hai:"; K2.hienthiKC(); // su dung toan tu gan K1 = K2; cout << "\n-------------------\n"; 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: