以下是定义`txtdata`类的代码: ```cpp #include <iostream> #include <fstream> #include <algorithm> class txtdata { private: std::string filename; std::string data[10]; public: txtdata(const std::string& filename) { this->filename = filename; std::ifstream file(filename); std::string line; int i = 0; while (std::getline(file, line) && i < 10) { data[i] = line; i++; } file.close(); } ~txtdata() { std::reverse(data, data + 10); std::ofstream file(filename); for (int i = 0; i < 10; i++) { if (!data[i].empty()) { file << data[i] << std::endl; } } file.close(); } }; int main() { txtdata data("example.txt"); return 0; } ``` 在构造函数中,通过传入的文件名打开文件,并逐行读取最多18个字符串(限制为10个,因为私有成员变量`data`只有长度为10)。将每行字符串存储到`data`数组中。 在析构函数中,通过`std::reverse`函数对`data`数组进行逆序操作。然后重新打开文件,并将逆序后的字符串按行写入文件中,覆盖原有内容。 在主函数中,使用`txtdata`类创建一个对象`data`,并传入文件名为"example.txt"。 上述代码尚未添加错误处理和越界检查,你可以根据实际需要进行修改。 [2024-06-01 15:27:14 | AI写代码神器 | 851点数解答]