多用东西,就意味着又要多学东西...... 引用第9楼lw于2006-11-05 11:53发表的:
偶大概这样写:
class LUAParser
{
public: static int func(lua_State *ls); ...
};
.......
这样没用的.只会调用基类的func ,而且基类里的func由于是static 的.不能调用非static的成员函数.
忘了说 static 函数不能多态的.而且不能调用非static 的成员函数. LUA里面是通过什么方法取用C的函数,和LUA PARSER无关啊……
偶一直想表达的意思是C++向LUA发送消息……
算了偶不多说了,LUA怎么调偶不知道……我觉得LUA调用C++的代码那是LUA的事情不是吗? 用google找找LuaPlus的内容看看
http://ly4cn.cnblogs.com/archive/2005/11/27/285439.html 我来说一下工厂模式吧。
工厂模式的特点是只有一个实例。有些时候我们需要某些东西只有一个实力,例如管理器。
这个时候我们就要使用工厂模式
下面发一个C++的工厂类
class MyClass {
private :
static MyClass* m_spInstance = NULL;
public :
MyClass() {
if (m_spInstance != NULL)
throw("Already created an instance, use MyClass::getInstance() to get it!");
m_spInstance = this;
}
static MyClass* getInstance() {
return m_spInstance;
}
}
使用 new MyClass(); 进行初始化,之后就可以通过静态方法 MyClass::getInstance(); 获取到MyClass的唯一实例。
需要注意的是如果重复初始化 MyClass 类则会抛出异常。
页:
1
[2]