Operator= auf konstante Daten Elemente. !!!Error!!!
-
Hallo die Die problematische Funktion schaut so aus?, naja nicht problemmatisch aber die sache mit konstand.
/*habe auch das probiert operator=(const Bird &right):TooFast(right.GetTooFast(). Ich weiss nich wie ich auf :Cartoon(...) gekommen bin */ const Bird &Bird::operator=(const Bird &right):Cartoon(right.GetAnimal(),right.GetTooFast()) { //dhlosh MEtablhton //Kurio Programma if(&right != this) { Destroy(this->GetAnimal()); this->SetAnimal(NULL); this->SetDirection(Possitiv); this->SetFelt(false); this->SetSpeed(NULL); Destroy(this->Get1Message()); this->SetSize1Message(NULL); Destroy(this->Get2Message()); this->SetSize2Message(NULL); Destroy(this->GetTurnMessage()); this->SetSizeTurnMessage(NULL); //Tora xtizoume this->SetAnimal(right.GetAnimal()); this->SetDirection(right.GetDirection()); this->SetFelt(right.GetFelt()); this->SetSpeed(right.GetSpeed()); this->SetMessage1(right.Get1Message()); this->SetMessage2(right.Get2Message()); this->SetTurnMessage(right.GetTurnMessage()); } return *this; }
classe
. . . private: . . . . . // H taxhthta toukinoumen sxediou // ********************************************************* mutable unsigned long int itsSpeed; //H Megistsh taxhthta gia na pesh ston thxo // ********************************************************* const short int TooFast/* = 200*/; . . .
Ich weiss konstand ist konstand und bleibt konstand. Es gibt auch kein grund TooFast zu verendern, ist immer 200 (intializiert von konstruktor immer egal ob katz oder maus, oder vogel oder was auch immer), aber kann ich die den noch verendern?. Mit ein McGyver trick filleicht?
-
Der MCGyver trick heißt "const_cast<datentyp>".
void foo(int a); //dekleration . . . const int x=1; . . . foo(const_cast<int> x); //konvertiert const int in einfach int
-
Also langsam nervt es: erstens kann man deine Beiträge kaum verstehen, zweitens solltest du erstmal ein C++ Buch zur Hand nehmen und es komplett durcharbeiten. Ohne Grundlagen wirst du nicht weit kommen.
-
??? ME ???
-
Nein, der Verfasser dieses Threads, wobei...
-
Stimmt ja genau const_cast<> für const oder volatile. Ich habe 3 bucher in C++ durchgearbeitet, das buch von Deitel&deitel, in 21 tagen C++, und das beste in 24 stunden C++ von Liberty beide. Und habe auch noch das für dummies aber steht nur so in den Regalen rum. Weist du das problemm ist aber nicht das lessen sondern das selber programmieren wenn du von buch abschreibst funkt der code immer aber wenn du selber programmierst ganz alleine ohne hilfe(naja aussser dem von forum
) das ist sehr schlimm. Und wenn du jetzt 48 stunden mit nur 2 stunden schlaf programmierst dann wirts erst richtig bund!.