9.8C++作业

思维导图

cpp 复制代码
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;

class Stu
{
    friend ofstream &operator<<(ofstream &ofs,const Stu &stu);
private:
    string name;
    string id;
    int age;
    double score;
public:
    Stu(){}
    Stu(string name, string id, int age, double score):name(name),id(id),age(age),score(score)
    {}
    ~Stu(){}
    void show() const
    {
        cout << name << " " << id << " " << age << " " << score <<endl;
    }
};

ofstream &operator<<(ofstream &ofs,const Stu &stu)
{
    ofs << "name:" << stu.name << " id:" << stu.id << " age:" << stu.age << " score:" << stu.score << endl;
    return ofs;
}

int main()
{
    vector<Stu> s1;
    s1.push_back(Stu("yy","1001",19,97));

    vector<Stu> s2;
    s2.push_back(Stu("dd","1002",19,94));

    vector<Stu> s3;
    s3.push_back(Stu("hh","1003",20,96));

    ofstream ofs;
    ofs.open("D:\\Qt\\qt-project\\hq\\day8\\test6\\stu_txt",ios::out);

    for(const auto &stu : s1)
    {
        ofs << stu << endl;
    }
    for(const auto &stu : s2)
    {
        ofs << stu << endl;
    }
    for(const auto &stu : s3)
    {
        ofs << stu << endl;
    }

    ofs.close();

    ifstream ifs;
    ifs.open("D:\\Qt\\qt-project\\hq\\day8\\test6\\stu_txt",ios::in);
    char buf[1024];
    while(ifs >> buf)
    {
        cout << buf << endl;
    }

    ifs.close();
    return 0;
}
cpp 复制代码
#include <iostream>
#include <list>

using namespace std;

void list_printf(list<int> &l)
{
    list<int>::iterator iter;
    for(iter = l.begin(); iter != l.end(); iter++)
    {
        cout << *iter <<" ";
    }
    cout << endl;
}

int main()
{
    list<int> l1;
    l1.push_back(10);
    l1.push_back(20);
    l1.push_back(30);
    l1.push_back(40);
    l1.push_back(50);

    cout << "l1:";
    list_printf(l1);
    l1.pop_back();
    list_printf(l1);
    cout << "==============" << endl;

    list<int> l2 = l1;
    cout << "l2:";
    list_printf(l2);
    cout << "==============" << endl;

    list<int> l3(l1.begin(),l1.end());
    cout << "l3:";
    list_printf(l3);
    cout << "==============" << endl;

    list<int> l4(6,6);
    cout << "l4:";
    list_printf(l4);
    l4.swap(l2);
    cout << "==============" << endl;
    cout << "l4:";
    list_printf(l4);
    cout << "l2:";
    list_printf(l2);
    cout << "==============" << endl;

    list<int> l5;
    l5.assign(l1.begin(),l1.end());
    cout << "l5:";
    list_printf(l5);
    cout << "==============" << endl;
    if(!l5.empty())
    {
        cout << l5.size() << endl;
    }
    l5.resize(7,9);
    list_printf(l5);
    l5.resize(3);
    list_printf(l5);
    cout << "==============" << endl;

    list<int> l6 = l4;
    cout << "l6:";
    list_printf(l6);
    l6.remove(20);
    list_printf(l6);
    l6.clear();
    list_printf(l6);
    return 0;
}
相关推荐
一木 之林3 分钟前
DeepSeek Agent 开发(一)
开发语言·前端·javascript
朔北之忘 Clancy4 分钟前
青少年软编等考七级题解目录
开发语言·c++·青少年编程·gesp·csp·信奥赛·noi
ss27316 分钟前
AI全栈实战 | 3.2-01 Python 基础:四大数据容器怎么选,推导式为什么是 Pythonic 的灵魂
开发语言·人工智能·python
汉克老师21 分钟前
GESP2026年9月认证C++七级( 第一部分选择题(8~15题)精讲
c++·gesp·小学生·学c++编程
Mr_Macallon23 分钟前
C++回顾(基础)(01)
c语言·开发语言·c++·学习
未来之窗软件服务34 分钟前
Go 利器 GoReSym:剥离符号恢复 Go 二进制元数据—东方仙盟
开发语言·golang·仙盟创梦ide·东方仙盟
如意猴1 小时前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
朝朝辞暮i1 小时前
C++ 第 32 课:main()、rclcpp::init()、spin()、shutdown()
开发语言·c++·算法
汉克老师1 小时前
GESP2026年9月认证C++一级( 第三部分编程题(1、新龟兔赛跑))精讲
c++·gesp·小学生·学c++编程
旋生万物1 小时前
螺旋角分布的功率谱分析:多窗谱 + FDR 校正
开发语言·python