fork download
  1. #include<iostream>
  2. using namespace std;
  3. class rectangle
  4. {
  5. private:
  6. int length;
  7. int width;
  8. public:
  9. rectangle()
  10. {
  11. length = 0;
  12. width = 0;
  13. cout<< "Constructor called"<<endl;
  14. }
  15. ///constructor
  16. rectangle(int length, int width)
  17. {
  18. this->length=length;
  19. this->width=width;
  20. cout<< "Constructor called"<<endl;
  21. }
  22. ///copy constructor
  23. rectangle(const rectangle &object)
  24. {
  25. length = object.length;
  26. width = object.width;
  27. cout<< "Copy Constructor called"<<endl;
  28. }
  29. ~rectangle(){cout<< "Destructor called"<<endl;}
  30. void area_display ()
  31. {
  32. cout << "Area: " << length*width <<endl;
  33.  
  34. }
  35. friend rectangle Modify(rectangle);
  36.  
  37. };
  38. rectangle Modify(rectangle r)
  39. {
  40. r.length = r.length*2;
  41. r.width = r.width*3;
  42. return r;
  43. }
  44.  
  45. int main()
  46. {
  47. int l,w;
  48. cin>>l>>w;
  49. rectangle r(l,w),m;
  50. r.area_display();
  51. m=Modify(r);
  52. m.area_display();
  53.  
  54. }
  55.  
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
Constructor called
Constructor called
Area: 1139485304
Copy Constructor called
Copy Constructor called
Destructor called
Destructor called
Area: -1753022768
Destructor called
Destructor called