我有一个继承了两次的基地。第二个子类没有为方法克隆提供任何签名,但第三个子类提供并定义方法克隆如下。
TControlObject = abstract class
...
public
method Clone:TControlObject; virtual; abstract;
end;
TGateControl = class(TControlObject)
...
public
...
end;
TAndControl = class(TGateControl)
public
method Clone:TControlObject; override;
end;
但是,编译器会引发错误,即 TGateControl 类不提供克隆方法的实现。由于 TGateControl 是从 TControlObject 继承的,而 TAndControl 类是从 TGateControl 继承的,因此应该自动为基类 clone 方法覆盖方法 clone。我对吗?
提前致谢,