Я конкретизирую вопрос, который у меня был раньше.
У меня есть два класса в C ++, и я использую SWIG, чтобы обернуть их. Метод в одном классе может возвращать указатель на другой класс. Как я могу заставить Lua видеть в нем нечто большее, чем просто пользовательские данные?
Конкретнее:
У меня есть
class fruit
{
int numberofseeds;
//some other stuff about fruit constructors etc...
public:
getseedcount()
{
return numberofseeds;
}
}
class tree
{
fruit * apple;
public:
//constructors and whatnot
fruit * getfruit()
{
return apple;
}
}
Я заключаю эти два класса в SWIG, чтобы получить к ним доступ в Lua
Так что я могу получить в Lua объект x = pomona.tree (grannysmith) .
Теперь у меня вопрос: как мне организовать вещи, чтобы при наборе y = x: getfruit () я получал объект типа pomona: fruit ? Где я могу написать что-нибудь строчку y: getseedcount () ?
На данный момент все, что я получаю, это userdata, которые не съедобны.