From dc2493e7525bb7633f697ef10f72b72b46222249 Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Fri, 30 Aug 2019 00:45:36 -0400 Subject: Forget what I said, I just need to change git attributes to mark for vendor --- lib/sol2/examples/source/docs/inheritance.cpp | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/sol2/examples/source/docs/inheritance.cpp (limited to 'lib/sol2/examples/source/docs/inheritance.cpp') diff --git a/lib/sol2/examples/source/docs/inheritance.cpp b/lib/sol2/examples/source/docs/inheritance.cpp new file mode 100644 index 0000000..b1c87f0 --- /dev/null +++ b/lib/sol2/examples/source/docs/inheritance.cpp @@ -0,0 +1,28 @@ +#define SOL_ALL_SAFETIES_ON 1 +#include + +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( "A", + "call", &A::call + ); + + lua.new_usertype( "B", + "call", &B::call, + sol::base_classes, sol::bases() + ); + + return 0; +} -- cgit v1.2.3