12. embind driving 类继承

#include 
#include <string>

using namespace emscripten;

class BaseClass {
public:
    BaseClass() = default;
    // virtual std::string invoke(const std::string &str) = 0;
    virtual std::string invoke(const std::string &str) {
        return str + " - from 'BaseClass'";
    }
};

class DerivedClass : public BaseClass {
public:
    DerivedClass() = default;
    std::string invoke(const std::string &str) override {
        return str + " - from 'DerivedClass'";
    }
};

EMSCRIPTEN_BINDINGS(module) {
  class_("BaseClass")
      .constructor<>()
      .function("invoke", &BaseClass::invoke);
  class_base>("DerivedClass")
      .constructor<>()
      .function("invoke", &DerivedClass::invoke);
}

 

你可能感兴趣的:(12. embind driving 类继承)