mickeyj
mickeyj

Reputation: 101

about copy constructor and overloaded assignment operator

I would like to know in which situations should a copy constructor or assignment operator should be defined. From what I researhed I see that whenever value is passed by value or returned by value, the copy constructor and overloaded assignment operator needs to be defined. However, when pointers or reference are used for pass/return by pointer or reference(&), do we need copy constructor/overloaded assignment operator

class Sample
{
 public :
  // Assume a constructor that sets the node member
  SampleNode * getNode()
  {
    return _node;
  }
 private: 
  SampleNode * node;
}

class SampleNode
{
  public:
   void getValue()
   {
      return _value;
   }
  private: 
   unsigned int value;
}

main()
{
  Sample * ptr = new Sample(15);

  SampleNode *node = getNode(); // Do we need a copy constructor here?
}

Upvotes: 0

Views: 159

Answers (1)

David G
David G

Reputation: 96845

Defining a pointer or reference to an object doesn't require the use of any constructors.

Upvotes: 2

Related Questions