swig/Examples/test-suite/c/cpp_basic_class_virtual_method_runme.c
Vadim Zeitlin bda731cd8f Change naming convention for wrapped ctors and dtor
Use Foo_{new,delete}() instead of {new,delete}_Foo() to ensure that all
methods of the class Foo start with the corresponding prefix.
2016-09-15 01:27:40 +02:00

24 lines
862 B
C

#include <assert.h>
#include "cpp_basic_class_virtual_method/cpp_basic_class_virtual_method_wrap.h"
int main()
{
BaseClass *bc = BaseClass_new();
NonMethodOverwritingClass *noc = NonMethodOverwritingClass_new();
MethodOverwritingClass *oc = MethodOverwritingClass_new();
BaseClass *inherited_bc = (BaseClass*)MethodOverwritingClass_new();
assert(BaseClass_myInt(bc) == 0xba53);
assert(NonMethodOverwritingClass_myInt(noc) == 0xba53);
assert(MethodOverwritingClass_myInt(oc) == 0xa173123d);
assert(BaseClass_myInt((BaseClass*)noc) == 0xba53);
assert(BaseClass_myInt((BaseClass*)oc) == 0xa173123d);
assert(BaseClass_myInt(inherited_bc) == 0xa173123d);
BaseClass_delete(bc);
NonMethodOverwritingClass_delete(noc);
MethodOverwritingClass_delete(oc);
BaseClass_delete(inherited_bc);
return 0;
}