From c++ 11 we can call a constructor from another constructor. So instead of defining copy constructor can we call the constructor every time? Like in this piece of code :
So instead of defining copy constructor can we call the constructor every time?
Yes, you can.
Is there any ill effect to this approach? Is there any advantage of writing traditional copy constructor?
Behavior-wise, there is no ill effect with your approach. With the member variables you have, IMO your approach is the most appropriate.