1 %module abstract_basecast 2 3 %inline %{ 4 class BaseClass { 5 public: 6 virtual ~BaseClass() { } 7 8 virtual void g() = 0; 9 }; 10 11 class DerivedClass : public BaseClass { 12 public: 13 14 virtual void g() { } 15 16 BaseClass& f() { 17 return *this; 18 } 19 }; 20 %}