使用类和对象来完成,包含文件
时间: 2024-09-18 14:14:58 浏览: 34
类对象和接口正规版资料.ppt
在C++中,我们可以使用类(Class)和对象(Object)来组织和管理数据,同时通过文件I/O(Input/Output)来保存和加载数据。下面是一个简单的例子,说明如何创建一个`Person`类,实例化对象,并将对象的信息存储到文件中:
首先,定义一个`Person`类,包含姓名和年龄属性,以及设置和获取这些属性的方法:
```cpp
class Person {
public:
// 构造函数
Person(string name, int age) : name(name), age(age) {}
// 属性
string getName() const { return name; }
int getAge() const { return age; }
// 设置属性
void setName(string newName) { name = newName; }
void setAge(int newAge) { age = newAge; }
private:
string name;
int age;
};
```
然后,我们创建一个对象并为其赋值:
```cpp
int main() {
Person p("Alice", 25);
// 对象操作
p.setName("Bob");
p.setAge(30);
// 打开文件(假设存在file.txt)
ofstream outputFile("file.txt");
if (!outputFile.is_open()) {
cerr << "无法打开文件!" << endl;
return 1;
}
// 将对象信息写入文件
outputFile << "Name: " << p.getName() << "\nAge: " << p.getAge() << endl;
outputFile.close();
return 0;
}
```
在上述代码中,`ofstream`用于向文件写入,`p.getName()`和`p.getAge()`用于获取对象的属性值。关闭文件前的检查也很重要,以防止意外的数据丢失。
如果你想要从文件中读取数据,你可以这样做:
```cpp
ifstream inputFile("file.txt");
if (!inputFile.is_open()) {
cerr << "无法打开文件!" << endl;
return 1;
}
string line;
getline(inputFile, line); // 获取一行
istringstream iss(line);
iss >> p.getName(); // 解析名
iss >> p.getAge(); // 解析年龄
inputFile.close();
```
以上就是使用类和对象完成数据管理和文件IO的基本流程。
阅读全文