есть некий закрытый класс, который юзает данные из любого иодевайса.
SomeOtherClosedClass->openSource( QIODevice *dev);
я ему хочу подсовывать свои данные и делаю наследника от QFile.
данные хочу подменять по мере их чтения самим закрытым классом.
переопределяю кучу read методов, отслеживаю что удобнее всего подменять на уровне readData(....).
соответсвенно делаю банальный код:
C++ (Qt)
#ifndef QMYFILE_H
#define QMYFILE_H
#include <QFile>
class QMyFile : public QFile
{
public:
QMyFile(const QString &file = "");
qint64 readData(char *data, qint64 maxlen);
};
#endif // QMYFILE_H
#include "qmyfile.h"
QMyFile::QMyFile(const QString &file) : QFile(file)
{
}
qint64 QMyFile::readData(char *data, qint64 maxlen) {
return QFile::read(data,maxlen);
}
вылетает с ошибками. оттрейсить и отследить не удаётся.
стоит только закоментировать readData - всё работает великолепно через такую "прослойку" из одного конструктора (что логично).
в общем, не понимаю где собака зарыта.
гугл не помогает.