mirror of https://github.com/swig/swig
37 lines
457 B
OpenEdge ABL
37 lines
457 B
OpenEdge ABL
%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; }
|
|
};
|
|
|
|
%}
|