cpp#include <iostream> #include <vector> #include <fstream> using namespace std; class Stu { friend istream &operator >>(istream &cin, Stu &p); friend ostream &operator <<(ostream &cout,const Stu &p); private: string name; int age; public: Stu(){} Stu(string name,int age):name(name),age(age) {} }; ostream &operator <<(ostream &cout,const Stu &p) { cout << p.name << " " << p.age << endl; return cout; } istream &operator >>(istream &cin, Stu &p) { cin >> p.name >>p.age; return cin; } void printv(vector<Stu> &v2) { vector<Stu>::iterator iter; for(iter=v2.begin();iter !=v2.end();iter++) { cout << *iter <<" "; } cout << endl; } int main() { Stu s1("张三",19); Stu s2("李四",20); Stu s3("王五",21); vector<Stu> v1; v1.push_back(s1); v1.push_back(s2); v1.push_back(s3); ofstream ofs; ofs.open("C:/Users/Bestow/Desktop/C++/day7/Stu.txt",ios::out); for(Stu s : v1) { ofs << s <<endl; } ofs.close(); ifstream ifs; ifs.open("C:/Users/Bestow/Desktop/C++/day7/Stu.txt",ios::in); vector<Stu> v2; Stu temp; while(ifs >> temp ) { v2.push_back(temp); } printv(v2); return 0; }
思维导图:

list使用:
cpp#include <iostream> #include <vector> #include <list> using namespace std; void printv(list<int> &v) { list<int>::iterator iter; for(iter=v.begin();iter !=v.end();iter++) { cout << *iter <<" "; } cout << endl; } int main() { list<int> v; v.push_back(61); v.push_back(71); v.push_back(81); v.push_back(91); v.push_back(101); printv(v); list<int> v1(v); printv(v1); list<int> v2(v1.begin(),v1.end()); printv(v2); list<int> v3(6,91); printv(v3); list<int> v4; v4=v3; printv(v4); list<int> v5; v5.assign(v2.begin(),v2.end()); printv(v5); v5.assign(6,6); printv(v5); v5.resize(10); printv(v5); v5.resize(3); printv(v5); if(!v5.empty()) { cout << v5.size() << endl; } cout << "=============================" << endl; list<int> v6=v2; printv(v6); v6.pop_back(); printv(v6); v6.insert(v6.begin(),1); v6.insert(v6.begin(),3,66); printv(v6); v6.clear(); printv(v6); cout << "=============================" << endl; list<int> v7=v2; printv(v7); cout << v7.front() << endl; cout << v7.back() << endl; return 0; }