Oppure

Loading
29/12/09 12:58
Vi chiedo solo di esaminare questo sorgente:

program Programma;
type oggetto=object
private
a:integer;
public
constructor costruttore;
destructor distruttore;
end;

var o:oggetto;

constructor oggetto.costruttore;
begin
a:=0;
end;

destructor oggetto.distruttore;
begin
(* Distrutture *)
end;

begin
o.costruttore;
writeln('a= ',o.a);
o.a:=500;
writeln('Ora a vale ',o.a);
o.distruttore;
readln;
end.

:-? Il fatto è che funziona correttamente...

Grazie per l' attenzione, saluti.
Ultima modifica effettuata da 29/12/09 13:16
30/12/09 11:16
Secondo me anche la variabile "a" deve essere pubblica perchè possa essere usata dal Writeln.
30/12/09 12:56
Il programma funziona!!8-|

L' ho provato in Turbo Pascal 7 e in Dev Pascal 1.9

Non riesco proprio a capire il significato dei qualificatori private, public, protect in Pascal.
Ultima modifica effettuata da 30/12/09 12:57
30/12/09 22:59
Pippo_94
Se usi una classe oggetto, dovresti creare un metodo pubblico che mandi a schermo la variabile (principio della programmazione ad oggetti), quindi il programma sarebbe stato meglio così:
Program ShowNumber; 

Type Numero = Object 
  Private 
    num : Integer; 
  Public 
    Constructor Make; 
    Destructor Smash;
    Procedure Show;
    Procedure Add_500; 
End;

Var number : Numero; 

Constructor number.Make; 
Begin 
  num := 0; 
End; 

Destructor number.Smash; 
Begin 
(* Total Destroy!!! *) 
End; 

Procedure number.Show;
Begin
  WriteLn('Valore numero => ", num);
End;

Procedure number.Add_500;
Begin
  num := 500;
End;

Begin 
  number.Make; 
  number.Show; 
  number.Add_500; 
  number.Show; 
  number.Smash; 
  ReadLn; 
End. 

aaa
31/12/09 9:57
Vi ringrazio molto per la vostra attenzione!

E' vero . :k:Da un punto di vista logico i vostri suggerimenti funzionano!!
:alert: Ma avete provato a eseguire il mip programma in Turbo Pascal 7 o Dev Pascal 1.9 ?
Vi ripeto che a me non fa una grinza!
Ultima modifica effettuata da 31/12/09 10:11