Ganze Klassen in Dateien abspeichern?

Morgen ^^

Ich benutze Visual C++ 2013 und möchte gerne eigene Klassen in Dateien abspeichern.
Und später wieder einlesen. 

Ich weiß es gibt den „BinaryWriter“ aber der kann nur mit elementaren Datentypen umgehen.
Was ich weiß zumindest.
Gibt es eine Möglichkeit das auch mit komplexen Datentypen durchzuführen?
Oder zumindest mit Arrays oder den Collections aus .NET.

Schließlich geht es mir nur um die Daten die in einer Klasseninstanz gespeichert sind, nicht um die Funktionen.
Zum Beispiel mehrere Strings oder int-Werte.

Bitte Danke :smile:

Ahoi Andi,

Ich möchte gerne eigene Klassen in Dateien abspeichern.
Und später wieder einlesen. 
Gibt es eine Möglichkeit das auch mit komplexen Datentypen
durchzuführen?

Eventuell hilft das hier (Ist zwar C# und nicht VC++, aber vielleicht lässt sich das Konzept übertragen…):

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

class ObjectStorage{
 public static void SaveObject(string Filename, object Object){
 FileStream stream = new FileStream(Filename, FileMode.Create);
 BinaryFormatter formatter = new BinaryFormatter();
 formatter.Serialize(stream, Object);
 stream.Close();
 }
 public static T LoadObject(string Filename){
 FileStream stream = new FileStream(Filename, FileMode.Open);
 BinaryFormatter formatter = new BinaryFormatter();
 T Object = (T)formatter.Deserialize(stream);
 stream.Close();
 return Object;
 }
 static void Main(){
 DateTime Test1 = DateTime.Now;
 ObjectStorage.SaveObject("Test.bin",Test1);
 DateTime Test2 = ObjectStorage.LoadObject("Test.bin");
 Console.WriteLine("Objekte Test1 und Test2 sind {0}.",Test1.Equals(Test2)?"identisch":"nicht indentisch");
 }
}