#include #include class CWheel { int diameter; int pressure; int mileage; public: void SerializeToDisk(fstream*); CWheel(void); void info_in(void); }; void CWheel::info_in(){ cout << "Enter Diameter: "; cin >> diameter; char nl; cin.get(nl); cout << "Enter Pressure: "; cin >> pressure; cin.get(nl); cout << "Enter mileage: "; cin >> mileage; cin.get(nl); } void CWheel::SerializeToDisk(fstream* wheeloutfile){ *wheeloutfile << diameter << endl; *wheeloutfile << pressure << endl; *wheeloutfile << mileage << endl; } CWheel::CWheel(){ diameter=0; pressure=0; mileage=0; } class CEngine { float size; float operatinghours; int yearmanufactured; public: void SerializeToDisk(fstream*); CEngine(void); void info_in(); }; void CEngine::info_in(){ cout << "Enter size: "; cin >> size; char nl; cin.get(nl); cout << "Enter Operating Hours: "; cin >> operatinghours; cin.get(nl); cout << "Enter Year Manufactured: "; cin >> yearmanufactured; cin.get(nl); } void CEngine::SerializeToDisk(fstream* engineoutfile){ *engineoutfile << size << endl; *engineoutfile << operatinghours << endl; *engineoutfile << yearmanufactured << endl; } CEngine::CEngine(){ size=0.0; operatinghours=0.0; yearmanufactured=0; } class car { CWheel wheels[4]; CEngine engine; public: void SerializeToDisk(fstream*); void info_in(void); }; void car::SerializeToDisk(fstream* outfile){ int w; for(w=0;w<4;w++) wheels[w].SerializeToDisk(outfile); engine.SerializeToDisk(outfile); } void car::info_in(){ int w; for(w=0;w<4;w++) wheels[w].info_in(); engine.info_in(); } int main() { car cars[1]; int c; for(c=0;c<1;c++) cars[c].info_in(); fstream outputfile; outputfile.open("cars.dat", ios::out); for(c=0;c<1;c++) cars[c].SerializeToDisk(&outputfile); outputfile.close(); return(0); }