我将一些C++代码翻译成Delphi,有一些需要翻译的抽象类。这些类被用作参数/返回类型等,我的问题是,如果一个C++类层次结构如下:
class Thing {
virtual void blah() = 0;
};
class Thing2 : public Thing {
virtual bool asdf(Thing*) = 0;
};
可以用Delphi重写为:
Thing = class
procedure blah; virtual;
end;
Thing2 = class(Thing)
function asdf(Thing) : Boolean; virtual;
end;
Delphi代码可以调用接受C++ Thing*s的C++函数,反之亦然。同样地,如果进行了上述翻译,那么C++ Thing2*是否等于Delphi Thing2,使得Delphi可以调用它的方法等呢?