c++第七天

编程入门 行业动态 更新时间:2024-10-24 18:23:27

c++<a href=https://www.elefans.com/category/jswz/34/1769430.html style=第七天"/>

c++第七天

封装一个学生的类,定义一个学生这样类的vector容器,里面存放学生对象(至少三个)

再把该容器中中的对象,保存到文件中。再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生

#include <iostream>
#include <fstream>
#include <vector>using namespace std;class Stu
{friend void printfVector(vector<Stu> &v);friend ostream & operator<<(ostream &cout,const Stu &R);friend istream & operator>>(istream &cin,Stu &s);
private:string name;int age;
public://无参构造Stu(){}//有参构造Stu(string n,int a):name(n),age(a){}
};
ostream & operator<<(ostream &cout,const Stu &R)
{cout << R.name << " ";cout << R.age << endl;return cout;
}
istream & operator>>(istream &cin,Stu &R)
{cin >> R.name;cin >> R.age;return cin;
}
void printfVector(vector<Stu> &stu)
{//1.写头文件//2.创建流对象ofstream ofs;//3.以写的方式打开流文件ofs.open("D:/2.txt",ios::out);vector<Stu>::iterator iter;  //定义了这样容器类型的迭代器for(iter = stu.begin();iter != stu.end();iter++){//4.将内容输入到文件里面ofs << *iter;}ofs.close();
}
void readVector(vector<Stu> &stu1)
{//1.写头文件//2.创建流文件ifstream ifs;//3.以读的方式打开流文件ifs.open("D:/2.txt",ios::in);vector<Stu>::iterator iter;//4.将读取的文件内容存到buf中Stu buf;while(ifs >> buf){stu1.push_back(buf);}for(iter = stu1.begin();iter != stu1.end();iter++){cout << *iter;}ifs.close();
}
int main()
{vector<Stu> stu;Stu s1("大美",18);Stu s2("二美",17);Stu s3("三美",16);stu.push_back(s1);stu.push_back(s2);stu.push_back(s3);printfVector(stu);vector<Stu> stu1;readVector(stu1);return 0;
}

#include <iostream>
#include <list>using namespace std;void printVector(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(10);//尾插v.push_back(20);v.push_back(30);v.push_back(40);v.push_back(50);//算法printVector(v);list<int> v2(v.begin(),v.end());printVector(v2);list<int> v3(6,100);printVector(v3);list<int> v4;         //拷贝赋值函数v4 = v2;printVector(v4);v4.assign(v2.begin(),v2.end());printVector(v4);v4.assign(8,99);printVector(v4);if(v4.empty()){cout << "容器为空" << endl;}else{//cout << "容器的容量大小" << v4.capacity() << endl;cout << "容器的大小" << v4.size() << endl;v4.resize(15);printVector(v4);}return 0;
}

更多推荐

c++第七天

本文发布于:2024-03-08 21:13:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722389.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第七天

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!