Mega Code Archive

 
Categories / C++ Tutorial / Function
 

Passing references to objects

#include <iostream>    class MyClass  {  public:      MyClass();      MyClass(MyClass&);      ~MyClass();        int GetAge() const { return itsAge; }      void SetAge(int age) { itsAge = age; }    private:      int itsAge;  };    MyClass::MyClass()  {      std::cout << "Simple Cat Constructor...\n";      itsAge = 1;  }    MyClass::MyClass(MyClass&)  {      std::cout << "Simple Cat Copy Constructor...\n";  }    MyClass::~MyClass()  {      std::cout << "Simple Cat Destructor...\n";  }    const MyClass & f (const MyClass & obj);    int main()  {      MyClass myObject;      std::cout << "myObject is " << myObject.GetAge() << " years old\n";        int age = 5;      myObject.SetAge(age);      std::cout << "myObject is " << myObject.GetAge() << " years old\n";        std::cout << "Calling f...\n";      f(myObject);      std::cout << "myObject is " << myObject.GetAge() << " years old\n";      return 0;  }    const MyClass & f (const MyClass & obj)  {      std::cout << "Function Two. Returning...\n";      std::cout << "myObject is now " << obj.GetAge()<< " years old \n";      return obj;  } Simple Cat Constructor... myObject is 1 years old myObject is 5 years old Calling f... Function Two. Returning... myObject is now 5 years old myObject is 5 years old Simple Cat Destructor...