私は、d-pointer全体がどのように機能するかを理解しようとしています。ほとんどの部品を入手しましたが、現在問題に直面しています。
ここの人のようにDpointer の継承私は、d-pointers を使用してクラスを継承したいと考えています (実際には QProcess です)。
dポインタにアクセスする関数はprivateなので、単純な継承ではアクセスできません。私の考えは、再び Q_DECLARE_PRIVATE マクロを使用して関数を取得し、それにアクセスすることです。これは機能しますか?試してみる前に、これが機能するかどうかわからないので、いくつかのヒントが必要です.
(ライセンスの問題全体を回避するためにこれが必要です。)
MyProcess.h
#ifndef MYPROCESS_H
#define MYPROCESS_H
class QProcessPrivate;
class MyProcess : public QProcess {
public:
MyProcess(QObject *parent = 0);
protected:
Q_DECLARE_PRIVATE(QProcessPrivate);
};
#endif /* WIDGET_H */
MyProcess.cpp
#include "myprocess.h"
MyProcess::MyProcess(QObject *parent = 0)
: QProcess(parent) {
}
MyProcess::setPid(Q_PID pid) {
Q_D(const QProcess);
d->pid = pid;
}