diff options
author | chai <chaifix@163.com> | 2021-11-08 10:53:42 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-11-08 10:53:42 +0800 |
commit | 5f46b4102c179680d613b6b9e0e6d392318030d2 (patch) | |
tree | 16527828dc89133f7af41acf6f5c13c23743e7ef /ThirdParty/tolua-5.2.4/src/tests/tclass.h | |
parent | 138d3f4d3d6e2aaf5ba34f89af15ef85ea074357 (diff) |
+ tolua
Diffstat (limited to 'ThirdParty/tolua-5.2.4/src/tests/tclass.h')
-rw-r--r-- | ThirdParty/tolua-5.2.4/src/tests/tclass.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/ThirdParty/tolua-5.2.4/src/tests/tclass.h b/ThirdParty/tolua-5.2.4/src/tests/tclass.h new file mode 100644 index 0000000..d439b08 --- /dev/null +++ b/ThirdParty/tolua-5.2.4/src/tests/tclass.h @@ -0,0 +1,67 @@ +#include <stdio.h> + +class Tst_Dummy +{ +}; + +class Tst_A +{ +public: + static Tst_A* last; + Tst_A () {last = this;} + virtual ~Tst_A() {} + virtual const char* a () { return "A"; } + class Tst_AA + { + public: + Tst_AA () {} + virtual ~Tst_AA () { } + const char* aa () { return "AA"; } + }; + class Tst_BB : public Tst_AA + { + public: + Tst_BB () {} + virtual ~Tst_BB () {} + Tst_AA* Base () { return this; } + const char* classname () const { + return "Tst_BB"; + } + }; +}; + +class Tst_B : public Tst_A +{ +public: + static Tst_B* last; + Tst_B () {last = this;} + virtual ~Tst_B () { } + virtual const char* b () { return "B"; } +}; + +class Tst_C : public Tst_B +{ + int i; +public: + static Tst_C* last; + Tst_C (int n) : i(n) {last = this;} + virtual ~Tst_C () { printf("deleting C: %d\n",i); } + virtual const char* c () { return "C"; } +}; + +inline Tst_A::Tst_AA* Tst_create_aa () +{ + return new Tst_A::Tst_AA(); +} + +inline bool Tst_is_aa (Tst_A::Tst_AA* obj) +{ + return true; +} + +class D // private destructor +{ + ~D () {} +public: + D () {} +}; |