class MainWindow { readFile(); saveFile(); importFile(); _readFileFormat_v12(); _readFileFormat_v13(); _readFileFormat_v15();}// РеализацияMainWindow::readFile() { // Выбираем файл для открытия file = getOpenFileName(); // Получаем идентификатор определенной версии родного формата mgnum = getFormatMagicNumber(file); // Читаем данные из файла switch(mgnum) { case FORMAT_VERSION_12: app_data = _readFileFormat_v12(); break; case FORMAT_VERSION_13: app_data = _readFileFormat_v13(); break; case FORMAT_VERSION_15: app_data = _readFileFormat_v15(); break; // Если это не родной файл программы, пробуем импортировать default: app_data = importFile(file); break; } // Возвращаем прочитанные данные return app_data;}MainWindow::importFile(file) { // Определяем формат стороннего файла и читаем его external_format = getExternalFileFormat(file); switch(external_format) { case EXTERNAL_FORMAT_TXT: imported_data = _readFileDataFromTxt(file); break; case EXTERNAL_FORMAT_XML: imported_data = _readFileDataFromXml(file); break; // Если формат файла недоступен для импорта default: break; } // Возвращаем прочитанные данные return imported_data;}MainWindow::saveFile() { file = getSaveFileName(); _saveToNewestFileFormat(file);}