It means that both the copy constructor and the operator= should be implemented [the same way]. So that it does not make a difference whether you call the one or the other.
In your case: Maybe the copy constructor is missing?
thanks for your help.
--------------------------------------------------------
@andywestken,
I realized that the I can create my copy constructor to do a deep copy, and also that st2 = st1 is right even without having assignment operator (operator=()), but it is shallow copy only.
Now I have another question for you, so if I do st2 = st1, is there any way I can make it do a deep copy instead of shallow copy? Does it have to do with the way I have to implement the assignment operator?
Here is an implementation of my assignment operator:
Does this do deep copy for st2 = st1?