Код | program Project1dpr; {$APPTYPE CONSOLE} uses SysUtils; type TCalculator = class operand1, operand2: real; // поля хранят операнды sign: char; // поле хранит знак операции res: real; // поле хранит результат procedure Init(op1, op2:real; s:char);virtual; // метод инициализирует поля объекта procedure Plus;virtual; procedure Minus;virtual; procedure Divide;virtual; procedure Multiply;virtual; procedure Run;virtual; // метод выполняет нужную операцию procedure PrintResult;virtual; // метод печатает результат end; procedure TCalculator.Init(op1, op2:real; s:char); begin operand1:= op1; operand2:= op2; sign:=s; end; procedure TCalculator.Plus; begin res:= operand1 + operand2; end; procedure TCalculator.Minus; begin res:= operand1 - operand2; end; procedure TCalculator.Divide; begin p res:= operand1/operand2; end; procedure TCalculator.Multiply; begin res:= operand1*operand2; end; procedure TCalculator.PrintResult; begin WriteLn ('Result=',res); end; procedure TCalculator.Run; begin case sign of '+':Plus; '-': Minus; '*': Multiply; '/': Divide; else WriteLn ('Wrong operation'); end; PrintResult; end; type TStep = class (TCalculator) procedure Init(op1, op2:real; s:char);override; // метод инициализирует поля объекта procedure Stepen; procedure Run;override; // метод выполняет нужную операцию procedure PrintResult;override; // метод печатает результат end; procedure Stepen; begin res:=exp(operand2*ln(operand1)); end; procedure TCalculator.Run; begin case sign of 'x':Stepen; else WriteLn ('Wrong operation'); end; end;
{-------------main-------------------} var Calc: TCalculator; // объявляем экземпляр класса a,b: real; c:char; begin Calc:= TCalculator.Create; // Вызываем конструктор класса TObject WriteLn('Input two operands'); Readln (a,b); Writeln('Input operation'); Readln(c); Calc.Init(a, b, c); Calc.Run; ReadLn; end.
|
Пишет что необьявлена res.помогите пожалуйста разобраться
|