ostream &operator<<(ostream &out, const Member
&m){ out << endl << setw(25) << \¸Ã³ÉÔ±ÐÅÏ¢ÈçÏÂ:\ << endl <>(istream &in, Member &m){ in >> m.name >> m.birthPlace >> m.birthDay >> m.sex >> m.height >> m.age >> m.education >> m.job >> m.father; return in; } //FamilySystemµÄ³ÉÔ±º¯Êý int FamilySystem::menu(){ cout << \; cout << \---------------------------\\n\; cout << \|\\n\; cout << \ϵͳ²Ëµ¥ |\\n\; cout << \|\\n\; cout << \²éѯ³ÉÔ± |\\n\; cout << \|\\n\; cout << \²éѯ¼ÒÍ¥ÕûÌåÇé¿ö |\\n\; cout << \|\\n\; cout << \Ìí¼Ó³ÉÔ± |\\n\; cout << \|\\n\; cout << \ɾ³ý
³ÉÔ± |\\n\; cout << \|\\n\; cout << \Ð޸ijÉÔ±ÐÅÏ¢ |\\n\; cout << \|\\n\; cout << \ÏÔʾÕû¸ö¼ÒÆ× |\\n\; cout << \|\\n\; cout << \°´ESCÍ˳öϵͳ |\\n\; cout << \|\\n\; cout << \---------------------------\\n\; cout << \; int n = 0; while (1){ n = _getch(); if (n == 27) break; if (n >= 49 &&n<=54) break; cout << \Çë°´ÏÂ1¡¢2¡¢3¡¢4¡¢5¡¢6Ñ¡Ôñ»ò°´ESC¼üÍ˳ö!\ << endl; } return n; } bool FamilySystem::fileInit(){ ifstream infile; //´ò¿ª´æ´¢³ÉÔ±ÐÅÏ¢µÄÎļþ£¬¶ÁÈë³ÉÔ±ÐÅÏ¢ infile.open(\, ios::in | ios::_Nocreate); if (!infile){ return false; } vector genely;//±£´æÕâÒ»´ú³ÉÔ±µÄÖ¸Õë vector next;//±£´æÏÂÒ»´ú³ÉÔ±µÄÖ¸Õë Member *temp = new Member;//ÁÙʱ±£´æÊäÈëµÄ³ÉÔ±ÐÅÏ¢ root = temp;//µÚÒ»¸ö¸³¸øroot genely.push_back(root); next.push_back(root); while (infile >> *temp){ //½«³ÉÔ±·ÅÈë¼Ò×åÊ÷ÖÐ,³ÉÔ±µÄ¸¸Ç×±ØÐëÊÇÕâÒ»´úµÄ³ÉÔ± for (auto i = genely.begin(); i != genely.end(); ++i){ if ((*i)->name == temp->father){ if ((*i)->pson==nullptr) (*i)->pson = temp; else{