You can implement C++ classes in Cython, the question is how do you call that class from C++.
I.e. test.pyx calls cpp_test() from "mytest.cpp" and void cpp_test() in mytest.cpp calls a Cython class object.
It might be possible to call static class methods, I haven't tried this, but I'm struggling with calling an object of a Cython class from a .cpp file.
I found out you a while back that you can do this for functions by declaring them as extern.
And it seems you can can technically declare Cython objects extern too, but everything I've tried so far has failed.
If I just declare the object in C++ extern testclass test, then Cython complains: error: ‘testclass’ does not name a type.
If I create a class header in C++ that mimics that in Cython and declare the object an extern testclass test I get a linker error: undefined reference to `test`.
If I declare the object in C++ extern testclass test and the same in Cython I get a redefinition error.
And you also can't declare the C++ class itself extern: error: a storage class can only be specified for objects and functions.