Assignment Operator Overloading in C++
#include <iostream>
using namespace std;
class Int {
int i;
public:
Int(int ii = 0) : i(ii) { }
Int operator=(const Int& ii) { i = ii.i; }
int get() { return i; }
void set(int ii) { i = ii; }
};
int main()
{
Int a(10), b(20);
cout << "Initial values" << endl;
cout << "a::i = " << a.get() << endl;
cout << "b::i = " << b.get() << endl;
cout << "After operation a = b" << endl;
a = b;
cout << "a::i = " << a.get() << endl;
cout << "b::i = " << b.get() << endl;
}
Output:
Initial values
a::i = 10
b::i = 20
After operation a = b
a::i = 20
b::i = 20
