Hi,
ich habe ein Problem. Ich möchte den Operator = (assignment) so überladen, dass er einen string als L Wert hat. Geht das?
Mein Versuch:
class CTest{
private:
int i;
string name;
CIntern intern;
public:
CTest(){std::cout name;
}
int main(int argc, char* argv[])
{
CTest mytest;
mytest.setName(„Hallo“);
string mystring;
mystring = mytest;
cout
Hi Karsten 
ich habe ein Problem. Ich möchte den Operator = (assignment)
so überladen, dass er einen string als L Wert hat. Geht das?
Ja, das geht. Es gibt eine Art Standard, wie man den = Operator überladen sollte.
CTest& CTest::operator = (const CTest &rhs)
{ //Do your assignment
return \*this;
}
Es kann wichtig sein, eine Zuweisung an sich selbst gesondert zu behandeln. Evtl. musst du also prüfen, ob *this und rhs (right hand side) identisch sind. Wichtig ist, dass du eine Referenz auf *this zurückgibst. In dieser Form fügt sich dein = Operator nahtlos in C++ ein. Jetzt sind z.B. Anweisungen der Form a= b= c möglich 
Viele Grüße
Stefan.
Hi Stefan,
Danke erstmal für die Hilfe. Allerdings hast du mich nicht so ganz verstanden. Ich hab in der Klasse CTest einen string (char*) den ich als string (C++) +bergeben möchte. Etwa so:
CTest myclass(„Hallo Stefan“);
string str;
str = myclass;
myclass soll dann der string aus der Klasse zugewiesen werden.
Geht sowas?
Gruß aus Dssd
Karsten
Automatische Typumwandlung
Hi again 
Also, den = operator sollte man nach Möglichkeit nicht anders überladen, als ich es in meinem vorigen Posting geschrieben habe. Wenn ich dein Problem nun richtig verstehe, dann möchtest du auch gar nicht den = Operator überladen, sondern eine automatische Typumwandlung von CTest nach str durchführen. Das geht so:
class CTest
{ int i;
string name;
CIntern intern;
public:
...
operator str& ();
}
CTest::operator str& ()
{ return name;
}
Damit hast du eine automatische Typumwandlung
static_cast(Ctest_object)
realisiert, und Zuwesungen des Typs str= CTest_object sollten funktionieren 
Hoffe, dass ich es jetzt kapiert habe, was du wolltest 
Viele Grüße
Stefan.
Hi Stefan,
vielen Dank - endlich weiss ich was ich gesucht habe. Es funktioniert in der Tag - nochmals Danke.
Karsten