9.8 C++

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;
}
相关推荐
hansang_IR1 分钟前
【题解】[COCI 2024/2025 #2] 流明 / Blistavost
c++·算法·动态规划·dp
程序喵大人7 分钟前
【C++进阶】STL算法与函数对象 - 01 让算法去处理一段迭代器范围
开发语言·c++·算法·函数对象
cui_ruicheng13 分钟前
Python数据分析(十三):Seaborn 统计可视化
开发语言·python·信息可视化·数据分析
大尚来也1 小时前
HTML5 Web Worker:彻底解决JS阻塞页面卡顿问题
开发语言
sycmancia1 小时前
Qt——复习篇painter
开发语言·qt
旖旎夜光1 小时前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
赵钰老师1 小时前
R语言数据统计分析与ggplot2高级绘图
开发语言·数据分析·r语言
旖旎夜光1 小时前
LeetCode 1262:可被三整除的最大和 (贪心算法)—— 题解
数据结构·c++·算法·leetcode·贪心算法
多弗朗皮卡丘2 小时前
C语言梦开始的地方3
c语言·开发语言