#include<iostream> #include<fstream> using namespace std; class Dog { public: int getAge(){return a;} int getWeight(){return w;} void setdog(int x,int y){a=x;w=y;} private: int a,w; }; int main() { int v1,v2; Dog dog1; dog1.setdog(10,5); ofstream outFile("outfile.txt",ios::out); outFile<<dog1.getAge()<<" "<<dog1.getWeight(); outFile.close(); Dog dog2; ifstream inFile("outfile.txt",ios::in); inFile>>v1;inFile.seekg(1,ios::cur);inFile>>v2; dog2.setdog(v1,v2); outFile.close(); cout<<"dog1's age:"<<dog1.getAge()<<endl; cout<<"dog1's weight:"<<dog1.getWeight()<<endl; cout<<"dog2's age:"<<dog2.getAge()<<endl; cout<<"dog2's weight:"<<dog1.getWeight()<<endl; }
时间: 2023-07-14 14:11:43 浏览: 275
#include <iostream> #include<iomanip> using namespace std;九九乘法表
这是一个使用文件流进行读写的 C++ 程序。程序中定义了一个 Dog 类,包含两个私有成员变量 a 和 w,以及三个公有成员函数 getAge、getWeight 和 setdog。其中,getAge 和 getWeight 用于获取私有成员变量 a 和 w 的值,setdog 用于设置私有成员变量 a 和 w 的值。
在主函数中,首先创建一个 dog1 对象,并通过 setdog 函数设置其年龄为 10 岁,体重为 5 斤。然后通过 ofstream 类型的 outFile 对象打开一个名为 "outfile.txt" 的输出文件流,并将 dog1 的年龄和体重分别写入文件中。写入完成后,关闭文件流。
接着,创建一个 dog2 对象,并通过 ifstream 类型的 inFile 对象打开刚才写入的 "outfile.txt" 文件流。从文件中读取 dog1 的年龄和体重并赋值给 dog2,最后关闭文件流。
最后,程序输出 dog1 和 dog2 的年龄和体重。需要注意的是,由于程序中读取文件时使用了 seekg 函数,所以在读取体重值时需要将文件指针向后移动一位。另外,程序中关闭文件时有一个小错误,应该将 inFile.close() 改为 outFile.close()。
阅读全文