我正在將一些C++代碼翻譯成Delphi,並且有一些需要翻譯的抽象類。這些類用作參數/返回類型,等等,我的問題是,如果一個C++類層次結構像這樣:將C++類轉換爲Delphi
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 *和C++的C++函數,而C++代碼可以調用帶Delphi函數的Delphi函數等等。所以基本上,如果進行了上面的轉換,C++ Thing2 *將等於Delphi可以調用的Delphi Thing2它的方法等?
您可能需要閱讀魯迪Velthuis的文章‘Delphi中使用C++對象’(http://rvelthuis.de/文章/篇-cppobjs.html)。 – 2010-12-12 17:02:20