Почему QFile недоступен после создания?

Мне нужно было создать свой класс файла, наследуемый от QFile, возникла проблема при вызове конструктора QFIle. Я решила вынести создание обычного файла и протестировать именно QFile. При запуске отладки file имеет такой вид: До создания

Затем появляется следующая ошибка: После

При этом я использую самый простой способ создания файла :

    QFile file("Computers.txt");
    file.open(QFile::ReadWrite);

Подскажите, пожалуйста, в чем может быть проблема? Уже голову сломала, пытылась и с путями играться, и с синтаксисом, но проблема все та же - именно после вызова конструктора QFile file становится недоступным.

__мой класс

#define FILE_H

#include <QtCore/qglobal.h>
#include <QtCore/qglobal.h>
#include <QFile>
#include <QTemporaryFile>
#include "Computer.h"
#include <QMessageBox>
#define FILENAME "Computers.txt"

class File : public QTemporaryFile
{

public:
    explicit File(QObject *parent = nullptr);
    File(QString filename);
    void open_file();
    void add_data(Computer *computer);
    void close_file();
    ~File(){};
};
#endif // FILE_H



реализация


#include <QVariant>

File::File(QString filename)
    : QTemporaryFile{filename}{}

void File::open_file()
{
    this->open(QFile::ReadWrite);
    if (!this->open()) // если файл не существует, то
            {      // формирмируем сообщение
                QMessageBox msg(QMessageBox::Critical,"File not found", "Please, don't cry", QMessageBox::Ok,0);
                msg.exec();// выводим сообщение на экран
            }

}

void File::add_data(Computer *computer)
{
    this->open_file();
    this->seek(this->size()); // переходим на конец файла
    QDataStream out(this); // связываем с файлом поток вывода
    out << computer->comp_name << computer->memory << computer->microprocessor << computer->winchester << computer->price;
    
    this->close_file();
}

void File::close_file()
{
    if (this->isOpen())
    {
        this->close();
    }// закрываем файл
}````

Ответы (0 шт):