Hej ponownie.
Z ostatnich moich wątków wiecie, że od niedawna zacząłem sobie powtarzać programowanie i dzisiaj zacząłem programowanie obiektowe, z którego nigdy wcześniej nie korzystałem i mam niemały problem przyznam.
Otóż mam zadanie takie:
Zdefiniuj typ obiektowy Prostokat, o polach a i b: Real przedstawiających długość boków i metodach:
- procedure Wczytaj
- function Pole
- function Obwod
- procedure Wyswietl
program Zad1Str42;
uses
Crt;
type
TProstokat = object
A, B : Real;
procedure Wczytaj;
function Pole(var C: Real; var D:Real) : Real;
function Obwod(var C: Real; var D: Real) : Real;
procedure Wyswietl;
end;
procedure TProstokat.Wczytaj;
begin
Write('Podaj bok a ');
ReadLn(A);
Write('Podaj bok b ');
ReadLn(B);
Pole(A, B);
end;
function TProstokat.Pole(var C: Real; var D:Real) : Real;
begin
Result := C*D;
end;
function TProstokat.Obwod(var C: Real; var D:Real) : Real;
begin
Result := 2*A+2*B;
end;
procedure TProstokat.Wyswietl;
begin
WriteLn('Pole prostokata wynosi ', Pole(A, B):0:2);
WriteLn('Obwod prostokata wynosi ', Obwod(A, B):0:2);
end;
var
X : TProstokat;
Pole : TProstokat;
begin
TextColor(15);
TextBackground(1);
ClrScr;
X.Wczytaj;
ReadLn();
end.
Nie wiem jak przekazać wartość z funkcji Pole i Obwod pod te pola A i B. Domyślam się, że to banalny problem, ale nie wiem jak już to ugryźć.