/trunk/Examples/test-suite/abstract_access.i

# · Swig · 36 lines · 29 code · 7 blank · 0 comment · 0 complexity · 8c55993155237cf174db67129e7640c9 MD5 · raw file

  1. %module abstract_access
  2. %warnfilter(SWIGWARN_LANG_DIRECTOR_ABSTRACT) A;
  3. %inline %{
  4. class A {
  5. public:
  6. virtual ~A()
  7. {
  8. }
  9. private:
  10. virtual int x() = 0;
  11. protected:
  12. virtual int y() = 0;
  13. public:
  14. virtual int z() = 0;
  15. int do_x() { return x(); }
  16. };
  17. class B : public A {
  18. private:
  19. virtual int x() { return y(); }
  20. };
  21. class C : public B {
  22. protected:
  23. virtual int y() { return z(); }
  24. };
  25. class D : public C {
  26. private:
  27. virtual int z() { return 1; }
  28. };
  29. %}