Лень писать примитивные методы.
Вот тебе сами классы, а методы допишешь сам.
Зачем нужен для данного класса деструктор - я не знаю
Тут то дефолтный конструктор нафиг не нужен.
Базовый класс:
Код:
unit ComplexNumber;
interface
type
TComplexNumber = class
private
FRe : Integer;
FIm : Integer;
public
constructor Create; overload;
constructor Create(ARe, AIm : Integer); overload;
constructor Copy(ANumber : ComplexNumber);
procedure Add(ANumber : TComplexNumber);
procedure Dex(ANumber : TComplexNumber);
procedure Mult(ANumber : TComplexNumber); overload;
procedure Mult(ANumber : Integer); overload;
procedure Div(ANumber : TComplexNumber); overload;
procedure Div(ANumber : Integer); overload;
property Re : Integer read FRe write FRe;
property Im : Integer read FIm write FIm;
end;
implementation
constructor TComplexNumber.Create;
begin
inherited;
FRe := 0;
FIm := 0;
end;
constructor TComplexNumber.Create(ARe, AIm : Integer);
begin
inherited Create;
FRe := ARe;
FIm := AIm;
end;
constructor TComplexNumber.Copy(ANumber : ComplexNumber);
begin
inherited Create;
FRe := ANumber.FRe;
FIm := ANumber.FIm;
end;
// Остальные методы - сам, по подобию конструкторов, только inherited не вызывай
end;
Потомок:
Код:
unit AdvComplexNumber;
interface
uses ComplexNumber;
type
TAdvComplexNumber = class(TComplexNumber)
public
function Abs : Double;
function Arg : Double;
procedure Power(AValue : Integer);
end;
implementation
funcrtion TAdvComplexNumber.Abs : Double;
begin
Result := Sqrt(Sqr(Re) + Sqr(Im));
end;
funcrtion TAdvComplexNumber.Arg : Double;
begin
Result := Arctan(Re/Im); // Если не ошибаюсь
end;
procedure TAdvComplexNumber.Power(AValue : Integer);
begin
// тоже лень расписывать реализацию
end;
end;
С остальным может еще кто поможет...