home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / emx / test / objcsamp.m < prev    next >
Encoding:
Text File  |  1992-12-01  |  1.0 KB  |  74 lines

  1. // objcsamp.m (emx+gcc)
  2.  
  3. #include <stdio.h>
  4. #include <objc/Object.h>
  5.  
  6. /////////////////////////////////////////////////////////////////////////////
  7.  
  8. @interface Integer: Object
  9. {
  10.   int value;
  11. }
  12.  
  13. + new: (int) i;
  14. - print;
  15. - store: (int) i;
  16. - (int) get;
  17. - add: obj;
  18.  
  19. @end
  20.  
  21. /////////////////////////////////////////////////////////////////////////////
  22.  
  23. @implementation Integer
  24.  
  25. + new: (int) i
  26. {
  27.   id instance;
  28.  
  29.   instance  = [super new];
  30.   [instance store:i];
  31.   return (instance);
  32. }
  33.  
  34. - store: (int) i
  35. {
  36.   value = i;
  37.   return (self);
  38. }
  39.  
  40. - (int) get
  41. {
  42.   return (value);
  43. }
  44.  
  45.  
  46. - add: obj
  47. {
  48.   value += [obj get];
  49.   return (self);
  50. }
  51.  
  52.  
  53. - print
  54. {
  55.   printf ("%d", value);
  56.   return (self);
  57. }
  58.  
  59. @end
  60.  
  61. /////////////////////////////////////////////////////////////////////////////
  62.  
  63. int main (void)
  64. {
  65.   id int_1, int_2;
  66.  
  67.   int_1 = [Integer new:17];
  68.   int_2 = [Integer new:25];
  69.   [int_1 print];
  70.   [int_1 add:int_2];
  71.   printf ("+%d=%d\n", [int_2 get], [int_1 get]);
  72.   return (0);
  73. }
  74.