Passing Objects by Reference : reference « Data Type « C++






Passing Objects by Reference

  
#include <iostream>

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

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

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

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

SimpleCat FunctionOne (SimpleCat theCat);
SimpleCat* FunctionTwo (SimpleCat *theCat);

int main()
{
   cout << "Making a cat..." << endl;
   SimpleCat Frisky;
   cout << "Calling FunctionOne..." << endl;
   FunctionOne(Frisky);
   cout << "Calling FunctionTwo..." << endl;
   FunctionTwo(&Frisky);
   return 0;
}

// FunctionOne, passes by value
SimpleCat FunctionOne(SimpleCat theCat)
{
   cout << "Function One. Returning... " << endl;
   return theCat;
}

// functionTwo, passes by reference
SimpleCat* FunctionTwo (SimpleCat  *theCat)
{
   cout << "Function Two. Returning... " << endl;
   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 References to Objects
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