#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 22:11:43 浏览: 284
这是一个使用文件流进行读写的 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()。
相关问题
用C++写代码:将下列程序分离类定义和主函数,改成多文件结构。主函数使用类的方式采取包含类定义的头文件的方法。写出运行结果。#include <iostream> using namespace std; class Cat { public: int GetAge(); void SetAge(int age); void Meow(); //喵喵叫 protected: int itsAge; }; int Cat::GetAge() { return itsAge; } void Cat::SetAge(int age) { itsAge = age; } void Cat::Meow() { cout<<"Meow.\n"; } int main() { Cat frisky; frisky.SetAge(5); frisky.Meow(); cout<<"frisky is a cat who is " <<frisky.GetAge() <<" years old.\n"; frisky.Meow(); }
// Cat.h
#ifndef CAT_H
#define CAT_H
class Cat {
public:
int GetAge();
void SetAge(int age);
void Meow(); //喵喵叫
protected:
int itsAge;
};
#endif
// Cat.cpp
#include "Cat.h"
#include <iostream>
using namespace std;
int Cat::GetAge() {
return itsAge;
}
void Cat::SetAge(int age) {
itsAge = age;
}
void Cat::Meow() {
cout << "Meow.\n";
}
// main.cpp
#include "Cat.h"
#include <iostream>
using namespace std;
int main() {
Cat frisky;
frisky.SetAge(5);
frisky.Meow();
cout << "frisky is a cat who is " << frisky.GetAge() << " years old.\n";
frisky.Meow();
return 0;
}
// 运行结果
// Meow.
// frisky is a cat who is 5 years old.
// Meow.
阅读全文