我有struct Face
,其成员表示其形状。形状可以是GeometricShape::Tri
或GeometricShape::Quad
。读取一些数据后,将知道形状类型,因此在编译时不知道。此外,GeometricShape::Tri
和GeometricShape::Quad
的成员应为static
。由于这个原因,我很难从基类继承。在编译时考虑成员的静态特性和未知类型的形状,我该如何修改代码?
namespace GeometricShape
{
struct Tri
{
static string name;
static int nVertex;
Tri();
};
struct Quad
{
static string name;
static int nVertex;
Quad();
};
}
struct Face
{
// don't know type during compilation.
// GeometricShape::Tri; // triangle
// GeometricShape::Quad; // quadrilateral
};