首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

LUA中怎么实现继承类,C++的代码访问到LUA中的继承类

2012-09-10 
LUA中如何实现继承类,C++的代码访问到LUA中的继承类绑定lua中怎么实现类的继承类,我的C++类里C/C++ codein

LUA中如何实现继承类,C++的代码访问到LUA中的继承类
绑定lua中怎么实现类的继承类,我的C++类里

C/C++ code
int CScene::GetSceneID(){return -1;}

导出成LUA了,我在LUA中这么使用
C/C++ code
local scene = CScene:Create()function scene:GetSceneID()        return 123endCDirector:sharedInstance():AddScene(scene )

 调试的时候C++代码访问GetSceneID都是返回-1,怎么使它返回我LUA中的代码123呢?

[解决办法]
这要看你的lua绑定库了...
[解决办法]
没用过这个库,我大概看了一下这个库的文档.没有找到相关的内容.似乎是不支持这种功能...
这个功能在LUA里实现是个比较郁闷的事.LUA里的匿名函数无法直接在C中得到,只能放到表中,通过key值索引.
楼主想办法自己实现吧.
其实就是绑定对象的new index事件,在添加成员绑定的时候,记录下成员,并在C++对象中进行关联.
[解决办法]
这不可能吧!!实现虚函数是需要有实际对象的,又不是只有函数就行。当然,我是指在编译期。

我觉得你可以用变通的办法。

你在真正的实现函数里主动调用lua函数,就相当于这种效果了。只不过比较麻烦,需要为每一个需要的C++函数都得写个对应的lua函数。


[解决办法]
哥们儿,你想多了吧?
c++ 里 你写了个函数 
 CScene::GetSceneID()
lua里 你写了个 
function scene:GetSceneID()
那么你c++在调用 GetSceneID() 调用的哪个GetSceneID()?
貌似有点lua重载c++里的函数?

热点排行