Ошибка при считывании объекта класса из файла, хелп!

Крайне примитивный пример, хочу записать объект класса в файл и вывести обратно, все работает корректно, но после выполнения программа останавливается(на return), тупит некоторое время и возвращает отрицательное число, отладчик рассказывает о какой-то ошибке доступа, путем комментирования всего подряд выяснилось, что проблема вот тута fin.read((char*)&test2, sizeof(Test)); Но какая не пойму, молю о помощи!

#include <iostream>
#include <fstream>
#include <string>

using namespace std;
class Test
{
public:
    Test(string name)
    {
        this->name = name;
    }
    void Print()
    {
        cout << name << endl;
    }
    string name;
private:
};
int main()
{
    ofstream fout;
    Test test1("string"), test2("no");
    fout.open("test.txt", ofstream::app);
    fout.write((char*)&test1, sizeof(Test));
    fout.write((char*)&test1, sizeof(Test));
    fout.close();
    ifstream fin;
    fin.open("test.txt");
    fin.read((char*)&test2, sizeof(Test));
    test2.Print();
    fin.close();
    return 0;
}

Ответы (0 шт):