关于重载Form构造函数的OO问题

pengz 2002-09-06 05:27:47
我对一个窗体TForm1重载了自己的构造函数
public constructor careat(arg1, arg2:Integer);overload;

constructor careat(arg1, arg2:Integer);
begin
inherited create(Application);
... ...
end;

编译时警告说Mothod 'create' hides virtual method of basetype 'TCustomForm'
如何解决?为什么?

我不是要你翻译这句话:p,先谢了
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaodaya 2002-09-06
  • 打赏
  • 举报
回复
constructor create(arg1, arg2:Integer); reintroduce; overload;
findcsdn 2002-09-06
  • 打赏
  • 举报
回复
//
public
constructor careat(arg1, arg2:Integer); overload;
//
constructor careat(arg1, arg2:Integer);
begin

// inherited create(Application);
create(nil); //注意不要加inherited,因为你不是覆盖,你只能
//调用你overload的另一个创建函数
//create(aowner:Tcoponent).
... ...
end;

xzgyb 2002-09-06
  • 打赏
  • 举报
回复
constructor create(arg1, arg2:Integer); reintroduce;
black_fox 2002-09-06
  • 打赏
  • 举报
回复
可能关键的还是由于参数不同,不知下面这样写合不合理。。。

protected
constructor Create(AOwner: TComponent); override;overload;
public
constructor Create(AOwner: TComponent;Info:String); override;overload;
提示是没有。呵呵
pengz 2002-09-06
  • 打赏
  • 举报
回复
也不对,我看用过override,错的

因为create的原始参数和我指定的不同,所以我用overload

是不是要override;overload;
pengz 2002-09-06
  • 打赏
  • 举报
回复
也不对,我看用过override,同样的

是不是要;override;overload??因为create的原始参数和我指定的不同,所以我用overload
eulb 2002-09-06
  • 打赏
  • 举报
回复
public constructor careat(arg1, arg2:Integer);overload;
怎么可以用overload?
原则性错误啊
应该是override

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧