请教高手C++转Pascal的写法(急!)Delphi中的纯虚函数 ( 积分: 50 )

  • 主题发起人 主题发起人 daver
  • 开始时间 开始时间
D

daver

Unregistered / Unconfirmed
GUEST, unregistred user!
virtual DWORD GetDeviceCapability() const = 0
这个不知是不是纯虚函数
virtual BOOL Stop() = 0
(纯虚函数)
上面是C++中的纯虚函数,const = 0 与 = 0 的分别是什么?
我只知在Delphi中的虚函数是这样写的 Stop():BOOL;virtual;
但纯虚函数的写法我不太清楚,请教高手写个例子看看??
 
virtual DWORD GetDeviceCapability() const = 0
这个不知是不是纯虚函数
virtual BOOL Stop() = 0
(纯虚函数)
上面是C++中的纯虚函数,const = 0 与 = 0 的分别是什么?
我只知在Delphi中的虚函数是这样写的 Stop():BOOL;virtual;
但纯虚函数的写法我不太清楚,请教高手写个例子看看??
 
我也不知道。。。帮你顶下了。。。。[:(]
 
Delphi中纯虚函数应该是在后面再加上abstract;吧:
Stop():BOOL;virtual
abstract;
至于C++中后面的那个const的含义,老实说我也一直没怎么弄清楚.
 
function Stop():BOOL;virtual
abstract;
 
to:dreamisx
先谢过!少许分给你
 
我来解答:
1.函数后加const 表示成员函数内部不能修改数据成员。=0就表示该函数为纯虚函数,而所在的类为抽象类。
2.delphi的纯虚函数就在函数后面加abstract了。包含纯虚函数的类为抽象类。

现在好象都用接口来代替抽象类了:)
 
to weekboy
这就是COM接口的函数声明,不过还得谢你!10分
 
我看你是要这个吧,有全部源码.

是在我的邮箱里的,用网际快车新建下载任务的地址栏输入:

http://m150.mail.126.com/coremail/fcg/ldmsapp/windows.rar?lettsid=VATZcpFGftSAyzQJ&mid=1tbiGQhJoEH3UvE7swAAsl%250A25%250A8388762%250A1&funcid=readpart&part=3&filename=windows.rar&download=1

里面应该有你要的,花了我不少的TIME
 
在Object Pascal中,Abstract类也可以建立实例,你可以使用Interface来实现纯虚类,如
ISomeInterface = Interface
[GUID] //在Delphi IDE中按Ctrl + Shift + G可自动产生
function GetDeviceCapability() DWORD;
function Stop() BOOL;
end;

TSomeClass = Class(TInterfacedObject,ISomeInterface)
function GetDeviceCapability() DWORD;
function Stop() BOOL;
end;

对于TInterfacedObject如果不明白,可看Delphi COM编程及李大嘴的那本VCL的书,内容不少,不是三言两语能说清的
 
后退
顶部