1 %module namespace_virtual_method 2 3 %warnfilter(515); 4 5 6 %inline %{ 7 8 namespace A { 9 namespace B { 10 class Foo; 11 } 12 namespace C { 13 class Foo { 14 public: Foo()15 Foo() { }; ~Foo()16 virtual ~Foo() { }; 17 virtual int bar(const A::B::Foo &x) = 0; 18 }; 19 } 20 } 21 22 namespace A { 23 namespace C { 24 class Spam : public Foo { 25 public: Spam()26 Spam() { } ~Spam()27 virtual ~Spam() { } bar(const B::Foo & x)28 virtual int bar(const B::Foo &x) { return 1; } 29 }; 30 } 31 } 32 33 %} 34 35 %{ 36 namespace A { 37 namespace B { 38 class Foo { }; 39 } 40 } 41 %} 42