sol2/examples/source/docs/inheritance.cpp

33 lines
457 B
C++
Raw Normal View History

#define SOL_ALL_SAFETIES_ON 1
#include <sol/sol.hpp>
struct A {
int a = 10;
virtual int call() {
return 0;
}
virtual ~A() {
}
};
struct B : A {
int b = 11;
virtual int call() override {
return 20;
}
};
int main(int, char*[]) {
sol::state lua;
lua.new_usertype<B>("A", "call", &A::call);
lua.new_usertype<B>("B",
"call",
&B::call,
sol::base_classes,
sol::bases<A>());
return 0;
}