void Str::operator=(char* a)
{
delete[] str;
len = strlen(a);
str = new char[len + 1];
strcpy (str, a);
}
void Str::operator=(class Str a)
{
delete[] str;
len = strlen(a.str);
str = new char[len + 1];
strcpy(str, a.str);
}
Dies ist eine Art der Klasse Str. I definiert 'operator = (char * a) in der Klasse Str', und ich zum ersten Mal ein in 'main.cpp' wie folgt verwenden können:Wie kann ich Klassenfaktor in Funktion verwenden?
Str a("Icecream");
a = "Cake\n";
Und gut laufen.
Aber wie kann ich 'operator = (Klasse Str a)' verwenden?
ich so versucht:
Str c("Hamburger")l
c = a;
Ich erwartete c Information eines hat. i, e, c ist keine Hamburgerinformation mehr. c ist Kuchen.
Aber wenn ich diesen Code kompiliere, hat c Informationen von einem aber Anruffehler.
Wie kann ich 'operator = (Klasse Str a)' verwenden?
Bitte machen Sie dies beantwortbar - richtige Formatierung, keine Tippfehler und ** die Fehlermeldung **. – LogicStuff
'char *'? Dies ist C++, in 2016. Verwenden Sie nicht 'char *'. –