1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
%module virtual_vs_nonvirtual_base;
// Regression test for SF#3124665.
%inline {
class SimpleVirtual
{
public:
virtual int implementMe() = 0;
virtual ~SimpleVirtual() {}
};
class SimpleNonVirtual
{
public:
int dummy() { return 0; }
virtual ~SimpleNonVirtual() {}
};
class SimpleReturnClass
{
public:
SimpleReturnClass(int i) : value(i) {};
int get() const { return value; }
private:
int value;
};
class SimpleClassFail : public SimpleVirtual
{
public:
SimpleClassFail() : inner(10) {}
SimpleReturnClass getInner() { return inner; }
virtual int implementMe() { return 0; }
private:
SimpleReturnClass inner;
};
class SimpleClassWork : public SimpleNonVirtual
{
public:
SimpleClassWork() : inner(10) {}
SimpleReturnClass getInner() { return inner; }
virtual int implementMe() { return 0; }
private:
SimpleReturnClass inner;
};
}
|