C++ operator= überladen
Von: , Frage gestellt am Do, 17. Mai 2001
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 << "Konstruktoraufruf"<<endl;}
CTest(string extName):name(extName) {}
CTest(const CTest& h)
{ name += "1"+h.name; i = h.i; }
void setName(string extname){name = extname;}
string operator=(const CTest&);
};
string CTest::operator=(const CTest&)
{
return this->name;
}
int main(int argc, char* argv[])
{
CTest mytest;
mytest.setName("Hallo");
string mystring;
mystring = mytest;
cout << mystring.c_str();
}
