在运行时确定结构类型

时间:2016-07-30 13:31:44

标签: c++ struct

我有struct Face,其成员表示其形状。形状可以是GeometricShape::TriGeometricShape::Quad。读取一些数据后,将知道形状类型,因此在编译时不知道。此外,GeometricShape::TriGeometricShape::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
};    

0 个答案:

没有答案