我在做它使用OpenGL和當前存儲需要渲染每一幀這是這個樣子對象的數組應用:是否可以將派生類的數組截斷爲C++中的基類數組?
class Object {
private:
float x;
float y;
public:
void func1();
void func2();
...
};
我希望能夠創建一個頂點緩衝區對象從這些對象的數組中,但我不能簡單地傳遞數組,因爲類包含glBufferData
不期望的附加函數。
是否有可能給對象類分離像這樣:
class baseObject {
public:
float x;
float y;
};
class derivedObject : public baseObject {
public:
float x;
float y;
void func1();
void func2();
...
};
,然後澆鑄的derivedObjects
陣列成使用static_cast
或以其它方式,然後可以被傳遞到一個glBufferData
的baseObjects
數組?或者是迭代對象數組的唯一方法,將x
和y
變量提取到單獨的數組中,然後可以將其傳遞給glBufferData
?
你是說基礎派生類和派生類都有單獨的float x&y嗎? – 2011-02-07 20:44:08
爲什麼你不能通過陣列?這些功能不與數據成員一起存儲。 – genpfault 2011-02-07 20:45:17