5月15日

习题:

题目:

定义一个Dog类,包括体重和年龄两个数据成员及其成员函数,声明一个实例dog1,体重5,年龄10,使用I/O流把dog1的状态写入磁盘文件。再声明一个实例dog2,通过读取文件dog1的状态赋给dog2。分别用文本方式和二进制方式操作文件。

设计思路:设计一个类包含体重和年龄两个成员,包括构造函数和返回体重和年龄的函数。

2.主函数中声明dog1并定义一个静态文件输出流对象。

3.打开文件,使流对象与文件建立练习。

4.将dog1的状态写入磁盘文件。

5.通过读取文件将1的状态赋给2.

流程图:

 代码部分:

#include<iostream>
#include<fstream>
using namespace std;
class Dog {
private:
    int weight;
    int year;
public:
    Dog(int a = 0, int b = 0)
    {
        weight = a;
        year = b;
    }
    int Weight()
    {
        return weight;

    }
    int Year()
    {
        return year;
    }
};
int main()
{
    Dog dog1(5, 10);
    ofstream
        outFile("outFile.txt", ios::out);
    if (!outFile)
        cerr << "Open file or create file error."
        << endl;
    else
    {
        outFile << dog1.Weight() <<dog1.Year();
        outFile.close();
    }
    ifstream
        inFile("outFile.txt", ios::in);
    int a; float c;
    if (!inFile)
        cerr << "File open error." << endl;
    else
    {
        inFile >> a; 
        inFile >> c;
        Dog dog2(a, c);
        inFile.close();
    }
    return 0;
}

 

posted on 2023-05-15 21:05  石铁生  阅读(50)  评论(0)    收藏  举报