#include class Xyz { public: Xyz(int& a, int b) // constructor : abc(a), ijk(b) {} // must initialize void display() { cout << abc << " " << ijk << endl; } void increment() { abc += ijk; } private: int& abc; // reference member int ijk; // const member }; void test_fn(Xyz obj) { obj.display(); obj.increment(); obj.display(); } int main() { int u = 1, v = 20, w = 99, z = 500; Xyz r(u,v), s(w, z); r.display(); s.display(); s = r; // test_fn(r); test_fn(s); // s.increase(); r.display(); s.display(); cout << "Now u = " << u << ", w = " << w << endl; // r.Xyz(v,z); // re-initialize r // r.display(); r.increment(); // cout << "Now v = " << v << endl; return(0); }