1

我正在使用 Emscripten 将我的 C++ 源代码构建为 JavaScript,我遇到了一些关于如何在 WebIDL 文件中编写正确接口描述的问题。

C++ 代码示例:

class Base
{
public:
    virtual bool is_true() const = 0;
    virtual int get_count() const = 0;
}

class Child: public Base
{
public:
    virtual bool is_true() const
    {
        return true;
    }
    virtual int get_count() const
    {
        return 10;
    }
}

但是如何写 WebIDL 尤其是关于class Base

interface Base{
    // ?
};
4

1 回答 1

0

您仍然可以在类定义之外提供纯虚函数的实现。例如,总是调用纯虚析构函数,因此必须由基实现。

class Base
{
public:
    virtual bool is_true() const = 0;
    virtual int get_count() const = 0;
}

bool Base::is_true() const { return false; }
int Base::get_count() const { return 0; }
于 2022-02-04T16:26:45.263 回答