Xcode выдает ошибку (C++)
malloc: *** error for object 0x1005ae750: pointer being freed was not allocated
Создал класс string, реализовал операцию присваивания, и когда начинаю тестировать , то ругается компилятор, и показывает на деструктор. Помогите, буду благодарен
#include "String.h"
String :: String (const char *str) {
size = sizeof(str) +1;
string = new char [size];
strcpy (string, str);
string [size] = '\0';
}
String :: String (const String &ob) {
size = sizeof(ob.string) +1;
string = new char [size];
strcpy (string, ob.string);
string[size] = '\0';
}
String :: ~String () {
delete [] string;
}
void String :: show () {
cout << string << endl;
}
String String :: operator = (const String &ob) {
String temp;
temp.string = new char [ob.size + 1];
strcpy (temp.string, ob.string);
temp.string [ob.size + 1] = '\0';
return temp;
}
ostream& operator << (ostream& out , const String &ob) {
out << ob.string;
return out;
}
istream& operator >> (istream& in, const String &ob) {
String temp;
temp.string = ob.string;
in >> temp.string;
return in;
}