1 Cython支持原生Python的类的定义
2 同时Cython也加入封装C++类的支持
3 按惯例,先上代码:
3.1 rect.pyx
# distutils: language = c++
cdef extern from "Rectangle.h"namespace "shapes":
cdef cppclass Rectangle:
Rectangle(int, int, int, int) except +
int x0, y0, x1, y1
int getLength()
int getHeight()
int getArea()
void move(int, int)
cdef class PyRectangle:
cdef Rectangle*thisptr # hold a C++ instance which we'rewrapping
def __cinit__(self, intx0, int y0, int x1, int y1):
self.thisptr = new Rectangle(x0, y0, x1, y1)
def __dealloc__(self):
del self.thisptr
def getLength(self):
return self.thisptr.getLength()
def getHeight(self):
return self.thisptr.getHeight()
def getArea(self):
return self.thisptr.ge