Passing References to Objects : reference « Data Type « C++






Passing References to Objects

  
#include <iostream>

using namespace std;
class SimpleCat
{
  public:
    SimpleCat();
    SimpleCat(SimpleCat&);
    ~SimpleCat();

    int GetAge() const { return itsAge; }
    void SetAge(int age) { itsAge = age; }

  private:
    int itsAge;
};

SimpleCat::SimpleCat()
{
   cout << "Simple Cat Constructor..." << endl;
   itsAge = 1;
}

SimpleCat::SimpleCat(SimpleCat&)
{
   cout << "Simple Cat Copy Constructor..." << endl;
}

SimpleCat::~SimpleCat()
{
   cout << "Simple Cat Destructor..." << endl;
}

const     SimpleCat & FunctionTwo (const SimpleCat & theCat);

int main()
{
   cout << "Making a cat..." << endl;
   SimpleCat Frisky;
   cout << "Frisky is " << Frisky.GetAge() << " years old" << endl;
   int age = 5;
   Frisky.SetAge(age);
   cout << "Frisky is " << Frisky.GetAge() << " years old" << endl;
   cout << "Calling FunctionTwo..." << endl;
   FunctionTwo(Frisky);
   cout << "Frisky is " << Frisky.GetAge() << " years old" << endl;
   return 0;
}

// functionTwo, passes a ref to a const object
const SimpleCat & FunctionTwo (const SimpleCat & theCat)
{
   cout << "Frisky is now " << theCat.GetAge();
   return theCat;
}
  
    
  








Related examples in the same category

1.constant references
2.returning a reference to a string
3.using references for int
4.Reassigning a reference
5.Taking the Address of a Reference
6.swap() Rewritten with References
7.Passing by Reference Using Pointers
8.Passing Objects by Reference
9.Returning multiple values from a function using references
10.Creating and Using References for integer
11.Data Slicing With Passing by Value
12.References for int type variable