Q1: When I have delete in my copy constructor I have a printing problem some
    times but not all the time.
----------------------------------------------------------------------------
Q1: When I have delete in my copy constructor I have a printing problem some
    times but not all the time.

A1: I see *NO* reason to have "delete" in your copy constructor.

You are allocating memory in your copy constructor ONLY for a newly
created object.  e.g. Strg s1 = s2;  Therefore you do not need to free
any previously allocated memory for "s1".

Remove the delete from your copy constructor.
----------------------------------------------------------------------------