Je concrétise une question que j'avais plus tôt.SWIG-Lua question sur la classe retournant une autre classe
J'ai deux classes en C++ et j'utilise SWIG pour les envelopper. Une méthode dans une classe peut renvoyer un pointeur vers l'autre classe. Comment puis-je faire en sorte que Lua ne soit pas seulement une userdata?
Plus concrètement:
Je
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;
}
}
J'enveloppe ces deux classes avec SWIG pour que je puisse y accéder à Lua
Je peux obtenir en Lua l'objet x = pomona .tree (grannysmith).
Ma question est maintenant: Comment puis-je organiser des choses de sorte que lorsque je tape y = x: getfruit() je vais obtenir un Pomone: objet de type fruits? Où puis-je écrire quelque chose ligne y: getseedcount()? En ce moment tout ce que je reçois est userdata qui n'est pas comestible.