Operator= für Klasse mit const Datenobjekten

Hi C++'ler,

ich habe eine Liste codiert, die ich auch schon erfolgreich einsetze. Nun muss ich diese Liste zuweisen und mein Compiler zwingt mich dazu einen eigenen operator= zu definieren.
Aber ich habe keine Ahnung wie ich ihm die richtigen Dinge beibringe. Eigentlich habe ich bisher im Konstruktor initialisiert - und was nun?

Hier die Quelle der Probleme:

class MbMailIdLst : public std::list
{
const std::string searchString;
const std::string separator;
std::string::size_type begIdx;
std::string::size_type endIdx;

// This method cut the string, given to the MbMailIdLst-constructor into peaces.
// The string seperator will be given at the constructor too.
void CutStringToList();

public:
MbMailIdLst( const char* SearchString, const char* Separator );
MbMailIdLst(){};

~MbMailIdLst(){ };

Nun will ich sagen:

MbMailIdLst eins(„string;bla;blub“, „;“);
MbMailIdLst zwei();

zwei = eins;

Diese Zuweisung tut nicht.

MbMailIdLst& MbMailIdLst::operator=( const MbMailIdLst& a )
{
zuweisungen;
};

Aber wie mache ich das genau?

Kann mir jemand bei dieser Überladung helfen?

Gruß karsten
Kann mir jemand sagen,

Sicher bin ich mir nicht, hab hier leider auch keine Bücher da. (Wegen dem Const)
Versuch es mal so:

class MbMailIdLst : public std::list
{
public:

MbMailIdLst& operator=(MbMailIDList &amp:wink:
};

MbMailIdLst& MbMailIdLst::operator=( const MbMailIdLst& a )
{
searchString = a.searchString;
seperator = a.seperator;
etc…
};

Wegen dem const bin ich mir unschlüssig (wenig erfahrung mit :frowning: )

Wenn Du Elemente mit Zeiger hast müssen diese unbedingt beachtet werden. (ggf. neuen Speicher Allocieren).

Bei Problemen mit const mit const_cast arbeiten, aber nur wenns unbedingt sein muss.

Hoffe es hilft weiter ?!

Micha