以下是一个实现要求的 txtdata 类的示例代码: ```cpp #include <iostream> #include <fstream> #include <string> class txtdata { private: std::string data[20]; std::string filename; public: txtdata(const std::string& filename) : filename(filename) { std::ifstream file(filename); if (file.is_open()) { std::string line; int i = 0; while (std::getline(file, line) && i < 20) { data[i] = line; i++; } file.close(); } } ~txtdata() { std::ofstream file(filename); if (file.is_open()) { for (int i = 19; i >= 0; i--) { if (!data[i].empty()) { file << data[i] << std::endl; } } file.close(); } } }; int main() { txtdata data("example.txt"); return 0; } ``` 在上述示例中,txtdata 类具有一个私有成员变量 string data[20] 用于存储最多 20 个字符串,以及一个私有成员变量 string filename 用于存储文件名。构造函数会根据传入的文件名打开文件,并读取最多 20 个字符串存入 data 数组中。析构函数会向同一文件中按原文件的逆序写入字符串,每行一个,覆盖原有内容。 请注意在构造函数和析构函数中,使用了流对象 ifstream 和 ofstream 分别进行文件的读取和写入操作。请确保在使用文件流时进行错误检查,以防止文件打开失败或写入失败等问题。 [2024-06-01 15:25:43 | AI写代码神器 | 924点数解答]