home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PASSRC.ZIP / CARTRUCK.PAS < prev    next >
Pascal/Delphi Source File  |  1991-02-04  |  2KB  |  74 lines

  1.                                      (* Chapter 14 - Program 5 *)
  2. unit CarTruck;
  3.  
  4. interface
  5.  
  6. uses Vehicles;
  7.  
  8. type
  9.    Car = object(Vehicle)
  10.       Passenger_Load : integer;
  11.       constructor Init(In_Wheels : integer;
  12.                        In_Weight : real;
  13.                        People    : integer);
  14.       function Passengers : integer;
  15.    end;
  16.  
  17.  
  18.    Truck = Object(Vehicle)
  19.       Passenger_Load : integer;
  20.       Payload        : real;
  21.       constructor Init(People : integer;
  22.                        Max_Load : real;
  23.                        In_Wheels : integer;
  24.                        In_Weight : real);
  25.       function Efficiency : real;
  26.       function Wheel_Loading :real;
  27.    end;
  28.  
  29. implementation
  30.  
  31.    constructor Car.Init(In_Wheels : integer;
  32.                         In_Weight : real;
  33.                         People    : integer);
  34.    begin
  35.       Wheels := In_Wheels;
  36.       Weight := In_Weight;
  37.       Passenger_Load := People;
  38.    end;
  39.  
  40.    function Car.Passengers : integer;
  41.    begin
  42.       Passengers := Passenger_Load;
  43.    end;
  44.  
  45.    constructor Truck.Init(People : integer;
  46.                           Max_Load : real;
  47.                           In_Wheels : integer;
  48.                           In_Weight : real);
  49.    begin
  50.       Passenger_Load := People;
  51.       Payload := Max_Load;
  52.       Vehicle.Init(In_Wheels, In_Weight);
  53.    end;
  54.  
  55.    function Truck.Efficiency : real;
  56.    begin
  57.       Efficiency := 100.0 * Payload / (Payload + Weight);
  58.    end;
  59.  
  60.    function Truck.Wheel_Loading : real;
  61.    begin
  62.       Wheel_Loading := (Weight + Payload)/Wheels;
  63.    end;
  64.  
  65. end.
  66.  
  67.  
  68.  
  69.  
  70. { Result of execution
  71.  
  72. (This file cannot be executed)
  73.  
  74. }