【发布时间】:2012-12-10 03:56:27
【问题描述】:
我有一个名为 RenderObject 的类,它包含 3 个变量:一个位置、一个保存指向数组长度的 int 以及指向“Faces”数组的指针
Face 只是一个包含其类型(四边形或三角形)、颜色和指向顶点数组的指针(存储为 Vector3f)的类。
我的 RenderObject 类有一个构造函数,它需要一个位置、一个面数组和 int,即数组中的面数。
我还有一个叫做 Cube 的类,它是从 RenderObject 派生的(所以我可以很容易地生成一个具有宽度、高度和深度尺寸的立方体。
问题是,Cube的构造函数只需要位置和尺寸,所以在调用默认构造函数时:
Cube::Cube( sf::Vector3f *positionVector, float width, float height, float depth ) : RenderObject( positionVector, /*can't supply this*/, 6 ) {
我无法传递面数组,因为 Cube 类运行 GenerateFaces();根据尺寸自动创建面。
所以我的问题是,如何将生成的面传递给 RenderObject 的构造函数?或者有更好的方法吗?
【问题讨论】:
标签: c++ class opengl constructor sfml