メソッド GetCurrentStream() が値 *stream を変更する必要がある場合、コンストラクター (以下に示すように) またはメソッド自体のどこに (QFile* および QTextStream*) を動的に割り当てるかについて混乱しています。
ヘッダファイル
class QLogger {
public:
explicit QLogger();
~QLogger();
QTextStream& GetCurrenStream();
private:
QFile *file;
QTextStream *stream;
};
および関連する .cpp で
QLogger::QLogger() {
file = new QFile;
stream = new QTextStream;
}
~QLogger() {
delete file;
delete stream;
}
QTextStream& GetCurrenStream() {
...
return *stream;
}
そして、デストラクタのどこでストレージを解放しますか?