No subject
Tue Oct 14 00:29:20 CEST 2008
#include <boost/python/class.hpp>
#include <boost/python/module.hpp>
#include <boost/ref.hpp>
#include <boost/utility.hpp>
using namespace boost::python;
class A
{
public:
A() : x(0) {}
#if 0
virtual double get() = 0;
virtual double get1(double x) = 0;
#else
double get() { return x; }
double get1(double x) { return x; }
#endif
private:
double x;
};
class AA : public A
{
public:
AA() : A() {}
double get() { return 0; }
double get1(double x) { return x; }
double get2(double x, double y) { return y+x; }
};
BOOST_PYTHON_MODULE_INIT(AA)
{
module m("AA");
m.add(
#if 0
class_<A, boost::noncopyable>("A")
#else
class_<A>("A")
#endif
.def("get", &A::get)
.def("get1", &A::get1)
);
m.add(
class_<AA, bases<A> >("AA")
.def_init(args<>())
.def("get2", &AA::get2)
);
}
Min Xu
More information about the Cplusplus-sig
mailing list