1

このようなものがあるとします

  class HandleInterface {
        GLuint handle_;
    protected:
        void SetHandle( GLuint i ) {
            handle_ = i;
        }

    public:
        GLuint GetHandle() const {
            return handle_;
        }

        virtual ~HandleInterface() {}
};

今、handle_ の参照が必要です。

// I would need &handle_
glGenBuffers( 1,&handle_ );

のために別のゲッターを書く必要がありhandle_ますか? handle_または、私のゲッターメソッドからの参照をどのように取得しますか?

また、参照ではなくメソッドを介してのみ設定する必要があるためglGenBuffers、何らかの形で私のメソッドに違反しています。これを回避する方法はありますか?SetHandlehandle_SetHandle

4

1 に答える 1

2

完全にカプセル化したままにしたい場合はhandle_、ローカル変数をに渡しますglGenBuffers

GLuint handle;
glGenBuffers(1, &handle);
SetHandle(handle);
于 2013-05-09T12:43:33.173 に答える