2

私は Intel の PCSDK を使用していますが、抽象クラスのコンストラクターがオーバーライドされているサンプルから構文的に理解できない部分があります。具体的には、次の行:

GesturePipeline (void):UtilPipeline(),m_render(L"Gesture Viewer") {
EnableGesture();
}

UtilPipeline() と m_render の間のコンマは何を意味しますか? コンテキストのコード全体は次のとおりです。

#include "util_pipeline.h"
#include "gesture_render.h"
#include "pxcgesture.h"
class GesturePipeline: public UtilPipeline {
public:
GesturePipeline (void):UtilPipeline(),m_render(L"Gesture Viewer") {
EnableGesture();
}
virtual void PXCAPI OnGesture(PXCGesture::Gesture *data) {
if (data->active) m_gdata = (*data);
}
virtual void PXCAPI OnAlert(PXCGesture::Alert *data) {
switch (data->label) {
case PXCGesture::Alert::LABEL_FOV_TOP:
wprintf_s(L"******** Alert: Hand touches the TOP boundary!\n");
break;
case PXCGesture::Alert::LABEL_FOV_BOTTOM:
wprintf_s(L"******** Alert: Hand touches the BOTTOM boundary!\n");
break;
case PXCGesture::Alert::LABEL_FOV_LEFT:
wprintf_s(L"******** Alert: Hand touches the LEFT boundary!\n");
break;
case PXCGesture::Alert::LABEL_FOV_RIGHT:
wprintf_s(L"******** Alert: Hand touches the RIGHT boundary!\n");
break;
}
}
virtual bool OnNewFrame(void) {
return m_render.RenderFrame(QueryImage(PXCImage::IMAGE_TYPE_DEPTH),
QueryGesture(), &m_gdata);
}
protected:
GestureRender m_render;
PXCGesture::Gesture m_gdata;
};
4

5 に答える 5

1

これは、基本クラスとメンバー変数を初期化する初期化リストです。

GesturePipeline (void) // constructor signature
  : UtilPipeline(), // initialize base class
    m_render(L"Gesture Viewer") // initialize member m_render from GesturePipeline
{
    EnableGesture();
}
于 2013-10-30T20:47:28.723 に答える
1

メンバー初期化リストです。

于 2013-10-30T20:47:56.720 に答える