C++学习day7

一、思维导图

二、作业试编程:

封装一个学生的类,定义一个学生这样类的vector容器,里面存放学生对象(至少3个)再把该容器中的对象,保存到文件中。 封装一个学生的类,定义一个学生这样类的载体容器,里面存放学生对象(至少3个)再把该容器中的对象,保存到文件中.

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

cpp 复制代码
#include <iostream>
#include<vector>
#include<fstream>//包含头文件

using namespace std;
class Stu
{
public:
    string name;
    int age;
public:
    Stu(){};
    Stu(string n,int a):name(n),age(a){};//有参构造函数

};
//容器的大小empty()
//写入数据到文件中
void printfVector(vector<Stu> &v)//算法(自己封装的算法&引入外部对象)
{
    //创建流对象
    ofstream ofs;
    ofs.open("D:/day7_code/tex1.tex",ios::out);
    //打开文件
    vector<Stu>::iterator iter;//迭代器
    for(iter = v.begin();iter< v.end();iter++)
    {
        //写入文件
        ofs << iter->name << " " << iter->age  << endl;
    }
    cout << endl;

}
void readVector(vector<Stu>& v)
{
    ifstream ifs;
    ifs.open("D:\\day7_code\\tex1.tex", ios::in);

    vector<Stu>::iterator iter;
    for (iter = v.begin(); iter != v.end(); iter++)
    {
//        string line;
//        getline(ifs, line);
//        cout << line << endl;
        char buff[1024];
        while(ifs >> buff)
        {
            cout << buff << endl;//每次读到空格或者换行截止
        }

    }

    cout << endl;
}
int main()
{
    //创建一个容器

    Stu s("zhangsan",34);
    Stu s1("lisi",18);
    Stu s2("wangwu",33);

    vector<Stu> v;
    v.push_back(s);
    v.push_back(s1);
    v.push_back(s2);//将数据存到容器中
    printfVector(v);
    readVector(v);



    return 0;
}

效果图:

相关推荐
青山是哪个青山1 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
hsjiasb2 小时前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
崇子嵘2 小时前
基于zynqMP15eg的linux驱动学习
学习
ShineWinsu4 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
知识分享小能手4 小时前
线性代数学习教程,从入门到精通,向量组的线性相关性 — 完整知识点梳理(7)
学习·线性代数·机器学习
码匠许师傅4 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
Shell运维手记4 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
动词ing5 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
旖旎夜光5 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒5 小时前
2024CSP-J入门级C++真题详解
开发语言·c++