Function C++ Tutorial

#include  
using namespace std; 
 
class MyClass { 
  int val; 
  int copynumber; 
public: 
  MyClass(int i) { 
    val = i; 
    copynumber = 0; 
    cout << "Inside normal constructor\n"; 
  } 
 
  // Copy constructor 
  MyClass(const MyClass &o) { 
    val = o.val; 
    copynumber = o.copynumber + 1; 
    cout << "Inside copy constructor.\n"; 
  } 
 
  ~MyClass() { 
     if(copynumber == 0) 
       cout << "Destructing original.\n"; 
     else 
       cout << "Destructing copy " << 
                copynumber << "\n"; 
  } 
 
  int getVal() { return val; } 
}; 
 
void display(MyClass ob) 

  cout << ob.getVal() << '\n'; 

 
int main() 

  MyClass a(10); 
 
  display(a); 
 
  return 0; 
}
Inside normal constructor
Inside copy constructor.
10
Destructing copy 1
Destructing original.