Kopierkonstruktor oder operator= überladen?
-
Moin,
hier mal zuerst das Beispiel:
struct basis { //verschiedene Typen.... char cString[64]; basis() { // ....... strncpy(cString, "foo", sizeof(cString)); // nicht getestet, sollte eigentlich gehen } }; struct subType : public basis { std::string str; subType() : basis() { str = cString; } };
Ich habe also den Typen basis ohne string (muss so sein) möchte aber für das weitere Arbeiten einen std::string nutzen.
Nun die Fragen:
was muss ich tun um folgendes machen zu können:
basis bas; strncpy(bas.cString, "bar", sizeof(cString)); subType sub; sub = bas; //oder auch bas = sub;
Kopierkonstruktor oder operator= überladen?
Wie genau mache ich was. Was ist die bessere Alternative?
Und wie kopiere dann innerhalb dieser Funktion die Daten um, ohne jedes Datum einzeln anzufassen?Weiß einer Rat?
Danke und Gruß!
-
Falsches Forum, lass dich mal nach C verschieben...
-
Dappeljuh schrieb:
Falsches Forum, lass dich mal nach C verschieben...
Lieber nach C++...
-
Wohin denn jetzt? C? C++? Da C++ von C erbt, würde ich sagen ist C++ nie verkehrt!
Ach ja, weiß einer ne Lösung zu meinem Problem?