| #include<iostream.h> class Class { public: int data; Class(){}; Class (const Class & X) { data = X.data+ 5; } void operator=(const Class &X) { data = X.data+ 1; } }; int main() { Class A, B; A.data=123; B = A; /* assignment operator called in cases where the left-hand side has already been created. Think of “B.operator=(A)” (valid C++!) = is treated as A member function */ Class C = A; // copy constructor called in declaration // because C has not been constructed yet cout<<"\n A.data "<< A.data; cout<<"\n B.data "<< B.data; cout<<"\n C.data "<< C.data; } |