Как зарегистрировать два класса, унаследованных от одного и того же класса, используя LuaBridge?

Я пытаюсь зарегистрировать два класса, которые наследуются от одного и того же класса, используя LuaBridge, но не удалось.

Как я могу зарегистрировать три класса ниже?

    класс А
    {
        общественности:
            int x;
    };
    класс B1: общедоступный A
    {
        общественности:
            int y;
    };
    класс В2: общедоступный А
    {
        общественности:
            int z;
    };

Я могу просто зарегистрировать A и B1, как это

getGlobalNamespace(L),.beginClass("А").addConstructor ().endClass ().deriveClass("B1").addConstructor<пустота (*) (аннулируются)>().endClass ()

А также

getGlobalNamespace(L),.beginClass("А").addConstructor ().endClass ().deriveClass("B1").addConstructor ().endClass ().deriveClass("B2").addConstructor<пустота (*) (аннулируются)>().endClass ()

получается зарегистрировать B2, как если бы он наследовал от B1.

Любая помощь с благодарностью.

1 ответ

Решение
getGlobalNamespace(L)
    .beginClass<A>("A")
        .addConstructor()
    .endClass()
    .deriveClass<B1, A>("B1")
        .addConstructor()
    .endClass()
    .deriveClass<B2, A>("B2")
        .addConstructor<void(*)(void)>()
    .endClass()
Другие вопросы по тегам