Il faut que ton opérateur concatène le char* contenue dans la chaîne passée en paramètre (chb) le char* de la chaîne courante, contenue dans le membre ch.
Problème, tu ne peux pas concaténé car ch pointe sur une "a tous", figé dans la mémoire.
Il faut donc que tu fasses des allocations et des libérations au niveau de ton char * ch.
Il faut qu'il pointe sur un tableau de char (= new char[length]) alloué dynamiquement par toi.
Ainsi, dans le cas du = ou du constructeur, tu alloues puis fait une copie.
Et dans le cas du +, tu alloues une nouvelle zone, tu concatène dans cette nouvelle zone, et tu libères l'ancienne.
Et tu libères dans le destructeur.
Au fait, il doit y avoir 1 million de classes "chaine" sur le web.