Bene ... supponiamo tu abbia questa semplice classe così definita
codice:
class MyClass
{
private:
char *MyString;
public:
MyClass(){MyString=NULL;};
~MyClass(){if(MyString) delete MyString;};
void SetString(char *s);
char *GetString(void);
};
void MyClass::SetString(char *s)
{
if(MyString) free(MyString);
if(strlen(s))
{
MyString = new char[strlen(s) + 1];
strcpy(MyString, s);
}
}
char *MyClass::GetString()
{
return(MyString);
}
e un main che la utilizza in questo modo
codice:
int main(int argc, char* argv[])
{
MyClass obj;
obj.SetString("Ciao ciao");
cout << obj.GetString() << endl;
// ....
return 0;
}
Se dalla riga
// ...
tu decidi di salvare su disco l'oggetto cosi' come hai fatto fino ad ora, quando tenterai di "rileggerlo" avrai delle sorprese ...