没有区别。因DELPHI没复制构造函数如果我一定要传值DELPHI能做到吗?
如果我用基类指针指向派生类对象去调用基类的虚函数怎么办?如下
Type
TMyclass1=class(TComponent)
private
public
procedure showNumber;virtual;
end;
TMyclass2=class(TMyclass1)
public
procedure showNumber;override;
end;
{$R *.DFM}
{ TMyclass1 }
procedure TMyclass1.showNumber;
begin
showmessage('1');
end;
{ TMyclass2 }
procedure TMyclass2.showNumber;
begin
showmessage('2');
end;
procedure loadShow(x:TMyclass1);
begin
x.showNumber;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
h:TMyclass1;
begin
h:=TMyclass2.Create(self);
loadShow(h)
//结果是显示2,也就是说它调的是子类函数
//在C++中这样调的话是调用基类的函数(基类指针指向派生类对象)
h.free;
end;