| %module abstract_access | |
| %warnfilter(SWIGWARN_LANG_DIRECTOR_ABSTRACT) A; | |
| %inline %{ | |
| class A { | |
| public: | |
| virtual ~A() | |
| { | |
| } | |
| private: | |
| virtual int x() = 0; | |
| protected: | |
| virtual int y() = 0; | |
| public: | |
| virtual int z() = 0; | |
| int do_x() { return x(); } | |
| }; | |
| class B : public A { | |
| private: | |
| virtual int x() { return y(); } | |
| }; | |
| class C : public B { | |
| protected: | |
| virtual int y() { return z(); } | |
| }; | |
| class D : public C { | |
| private: | |
| virtual int z() { return 1; } | |
| }; | |
| %} |