作业
封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个)
再把该容器中的对象,保存到文件中。
再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。
#include #include #include using namespace std;class Stu{friend ifstream & operator>>(ifstream &cin,Stu &s);friend ofstream & operator<<(ofstream &cout,Stu &s);friend ostream & operator<<(ostream &cout,Stu &s);private:string name;int age;public:Stu(){}Stu(string n,int a):name(n),age(a){}};ostream & operator<<(ostream &cout,Stu &s){cout << s.name;cout << s.age << endl;return cout;}ofstream & operator<<(ofstream &cout,Stu &s){cout << s.name << "\t" << s.age <>(ifstream &cin,Stu &s){cin >> s.name;cin >> s.age;return cin;}int main(){//ofstream ofs;//ofs.open("E:/CFHD/1.txt",ios::out);//vector v;//Stu a("zhangsan",18);//Stu b("lisi",20);//Stu c("wangwu",22);//v.push_back(a);//v.push_back(b);//v.push_back(c);//for(int i = 0;i<3;i++)//{//ofs << v.at(i);//}//ofs.close();ifstream ifs;ifs.open("E:/CFHD/1.txt",ios::in);vector v;vector::iterator iter;Stu s;int i = 0;while(ifs >> s){iter = v.begin()+i;v.push_back(s);i++;}for(iter = v.begin();iter != v.end();iter++){cout << *iter ;}ifs.close();return 0;}
把list的相关函数都实现出来
#include #include using namespace std;void P(list &l){list::iterator iter;for(iter = l.begin();iter != l.end();iter++){cout << *iter << " ";}cout << endl;}int main(){list lst1;for(int i = 0;i<5;i++){lst1.push_back(i);}P(lst1);list lst2(lst1.begin(),lst1.end());P(lst2);list lst3(3,8);P(lst3);list lst4;lst4.assign(lst1.begin(),lst1.end());P(lst4);cout<<"front = "<<lst2.front()<<endl;cout<<"back = "<<lst2.back()<<endl;if(!lst1.empty()){cout << "sz= " << lst1.size() << endl;lst1.resize(15,2);cout << "sz= " << lst1.size() << endl;P(lst1);}lst1.erase(lst1.begin(),lst1.end());P(lst1);cout << "sz= " << lst1.size() << endl;return 0;}
思维导图