MST

星途 面试题库

面试题:C++类析构函数中常规资源管理场景

假设有一个C++类,该类在构造函数中动态分配了内存(使用new关键字)用于存储一组整数,并且在类中还有一个指向文件的指针,在构造函数中打开了一个文件。请写出该类的析构函数,要求正确释放动态分配的内存并关闭文件。
19.3万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
class MyClass {
private:
    int* intArray;
    FILE* filePtr;
public:
    MyClass() {
        intArray = new int[10]; // 示例,动态分配10个整数的内存
        filePtr = fopen("example.txt", "w"); // 示例,打开文件
    }
    ~MyClass() {
        if (intArray) {
            delete[] intArray;
            intArray = nullptr;
        }
        if (filePtr) {
            fclose(filePtr);
            filePtr = nullptr;
        }
    }
};