请教Delphi高手或C++高手一个OOP问题。

Dynamic 2002-08-26 01:24:27

我在基类中将一个过程设为 virtual;
在其子类中我覆盖(override;)了这个过程,但现在我还想重载(overload;)这个过程,
但编译器报错,我想要实现这样的功能该怎么办?
如果Delphi中不行,C++中能行吗?
...全文
26 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dynamic 2002-08-29
  • 打赏
  • 举报
回复
是的,overload;override;不能写反。
arg 2002-08-26
  • 打赏
  • 举报
回复
不会吧,我有个程序就是这么写的。运行的好好的,
再有可能使我记错了按下面的写也许就好了
function function1(a:integer):integer;overload;override;
Dynamic 2002-08-26
  • 打赏
  • 举报
回复
arg(雨隼)
你的方法也不行,不过我以找到方法了,为了鼓励大家讨论,分数仍然有效,
来吧,朋友们!
arg 2002-08-26
  • 打赏
  • 举报
回复
delphi可以的。我做过的 比如这样

class1 = class(tobject)
public
function function1(a:integer);integer;virtual;
end;

class2 = class(Class1)
public
function function1(a:integer):integer;override;overload;
function function1(a:integer;b:string):integer;overload;
end;

关键是overload的函数的参数要和同名函数不一样,这是用来分辨同名函数的。

5,388

社区成员

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

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