000
23.08.2005, 12:28 Uhr
DanielJ
|
Hallo alle zusammen,
mein Problem ist folgendes:
Habe einen Konstruktur, Copy-Konstruktor, Destruktor und nen neuen assignment-operator geschrieben. Zuweisung des Strings Vorname = "Hans"; funkt in folgender Methode nicht mehr. Die Funktion strcpy(Vorname,"Hans"); klappt allerdings.
C++: |
void Adressbuch::creatperson() { Vorname = new char[5]; Vorname = "Hans"; //strcpy(Vorname,"Hans"); }
|
Am Ende des Programmes bekommen ich eine Fehlermeldung: Debug Assertion Failed!
Im folgenden sind Konstruktor und Co...vielleicht kann mir erklären was ich nicht weiß.
C++: |
Adressbuch::Adressbuch() { Vorname = "no entry"; //Nachname = NULL; //Anschrift = NULL; }
Adressbuch::Adressbuch(Adressbuch &Objekt) { Vorname = new char[strlen(Objekt.Vorname) + 1]; strcpy(Vorname, Objekt.Vorname); }
Adressbuch &Adressbuch::operator=(Adressbuch &Objekt) { delete [] Vorname; Vorname = new char[strlen(Objekt.Vorname) + 1]; strcpy(Vorname, Objekt.Vorname); return *this; }
Adressbuch::~Adressbuch(void) { delete [] Vorname; //delete [] Nachname; //delete [] Anschrift; }
|
Bearbeitung von virtual: |
BITTE CODE TAGS VERWENDEN!
|
Dieser Post wurde am 23.08.2005 um 13:55 Uhr von FloSoft editiert. |