%module smart_pointer_protected | |
%inline %{ | |
namespace hi | |
{ | |
struct A | |
{ | |
virtual ~A() { } | |
virtual int value(A*) = 0; | |
int index; | |
}; | |
struct B : A | |
{ | |
protected: | |
int value(A*) | |
{ | |
return 1; | |
} | |
}; | |
struct C | |
{ | |
hi::B* operator->() const { return new hi::B(); } | |
private: | |
int index; | |
}; | |
} | |
%} | |